Удаление дубликатов, сохраняя порядок
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
Разъяснивший Python
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
Разъяснивший Python
This media is not supported in your browser
VIEW IN TELEGRAM
Полезные библиотеки Python
Doc2Image — превращай документы в картинки, а тексты в визуальные идеи.
Когда обычного текста мало, а нужно показать смысл, на помощь приходит Doc2Image — нейросервис, который читает документы и генерирует по ним визуальные подсказки для Midjourney, DALL·E и других генераторов.
Как работает:
Ты загружаешь документ — он сам вычленяет суть, превращает её в понятное описание и подсказывает, какое изображение можно создать.
Поддержка как OpenAI, так и локальных моделей.
Удобный интерфейс и история всех запросов.
Работает быстро и без лишней магии — просто берёт и делает.
Идеально для дизайнеров, маркетологов, ресерчеров, презентаций и визуального контента по любой теме.
⚙️ GitHub/Инструкция
Разъяснивший Python
Doc2Image — превращай документы в картинки, а тексты в визуальные идеи.
Когда обычного текста мало, а нужно показать смысл, на помощь приходит Doc2Image — нейросервис, который читает документы и генерирует по ним визуальные подсказки для Midjourney, DALL·E и других генераторов.
Как работает:
Ты загружаешь документ — он сам вычленяет суть, превращает её в понятное описание и подсказывает, какое изображение можно создать.
Поддержка как OpenAI, так и локальных моделей.
Удобный интерфейс и история всех запросов.
Работает быстро и без лишней магии — просто берёт и делает.
Идеально для дизайнеров, маркетологов, ресерчеров, презентаций и визуального контента по любой теме.
⚙️ GitHub/Инструкция
Разъяснивший Python
Детектор утечек
С помощью данного скрипта ты узнаешь, сливали ли твои имейлы или пароли. Делается это с помощью HaveIBeenPwned API. Ты вводишь email или пароль для проверки, а в ответ выводится список сайтов, где была компрометация.
Ссылка на код
Разъяснивший Python
С помощью данного скрипта ты узнаешь, сливали ли твои имейлы или пароли. Делается это с помощью HaveIBeenPwned API. Ты вводишь email или пароль для проверки, а в ответ выводится список сайтов, где была компрометация.
Ссылка на код
Разъяснивший Python
❤1
Что такое
Пример:
Подробнее тут
Разъяснивший Python
logging
в Python?logging
— это встроенный модуль Python для создания логов, которые помогают отлаживать и мониторить работу приложений.Пример:
import logging
# Настройка базового уровня логирования
logging.basicConfig(level=logging.INFO)
# Создание лога
logging.info("Приложение запущено")
logging.warning("Это предупреждение!")
logging.error("Произошла ошибка")
🗣 В этом примере модуль logging создаёт сообщения разного уровня важности. Логирование позволяет отслеживать работу приложений и находить проблемы в коде.
Подробнее тут
Разъяснивший Python
Python documentation
logging — Logging facility for Python
Source code: Lib/logging/__init__.py Important: This page contains the API reference information. For tutorial information and discussion of more advanced topics, see Basic Tutorial, Advanced Tutor...
Проверка существования атрибута без try/except
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
Итог:
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Разъяснивший Python
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
Итог:
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Разъяснивший Python
Пример использования tqdm
Tqdm (от арабского слова "taqadum", что означает "прогресс") — это библиотека Python, которая позволяет легко и быстро создавать индикаторы выполнения задач. Она особенно полезна при работе с длительными операциями, так как позволяет отслеживать ход выполнения и остаточное время.
Разъяснивший Python
Tqdm (от арабского слова "taqadum", что означает "прогресс") — это библиотека Python, которая позволяет легко и быстро создавать индикаторы выполнения задач. Она особенно полезна при работе с длительными операциями, так как позволяет отслеживать ход выполнения и остаточное время.
Разъяснивший Python
❤1
Отслеживатель подписок и расходов
В этот раз мы сделаем отслеживатель подписок и расходов. Он будет показывать сумму всех подписок в месяц, а также отображать, сколько тратится в год. Сохраняется это все в локальной SQLite-базе.
Ссылка на код
Разъяснивший Python
В этот раз мы сделаем отслеживатель подписок и расходов. Он будет показывать сумму всех подписок в месяц, а также отображать, сколько тратится в год. Сохраняется это все в локальной SQLite-базе.
Ссылка на код
Разъяснивший Python
Преобразование Word Doc или Docx в PDF в Python
Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.
После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).
Разъяснивший Python
Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.
После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).
Разъяснивший Python
Объединение словарей без update()
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
Разъяснивший Python
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
Разъяснивший Python
Преобразование PowerPoint PPT или PPTX в PDF в Python
Преобразование из PowerPoint в PDF также довольно просто.
Просто используйте метод Presentation.LoadFromFile() для загрузки файла PPT или PPTX, а затем конвертируйте его в PDF с помощью метода Presentation.SaveToFile().
Разъяснивший Python
Преобразование из PowerPoint в PDF также довольно просто.
Просто используйте метод Presentation.LoadFromFile() для загрузки файла PPT или PPTX, а затем конвертируйте его в PDF с помощью метода Presentation.SaveToFile().
Разъяснивший Python
❤1🤨1
Библиотека python-decouple
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
Разъяснивший Python
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
Разъяснивший Python
Заморозка dataclass с frozen=True
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог:
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
Разъяснивший Python
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог:
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
Разъяснивший Python
Упрощённая проверка аргументов через __post_init__ в dataclass
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
Разъяснивший Python
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
Разъяснивший Python
contextlib.suppress — элегантное подавление исключений
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
Разъяснивший Python
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
Разъяснивший Python
🤝2
Быстрое создание вложенных словарей с defaultdict
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог:
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
Разъяснивший Python
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог:
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
Разъяснивший Python
Генератор MindMap
Mind map – это карта мыслей с ветками и подтемами. Это эффективный метод конспектирования лекций, а также планирования проектов. С помощью данного проекта ты сможешь генерировать mind map.
Ссылка на код
Разъяснивший Python
Mind map – это карта мыслей с ветками и подтемами. Это эффективный метод конспектирования лекций, а также планирования проектов. С помощью данного проекта ты сможешь генерировать mind map.
Ссылка на код
Разъяснивший Python
pathlib вместо os.path — чище и удобнее работа с путями
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
Разъяснивший Python
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
Разъяснивший Python
👎1
Асинхронная обработка запросов
Асинхронная обработка запросов позволяет обрабатывать несколько задач одновременно, не блокируя основной поток выполнения. Это особенно полезно при работе с сетевыми запросами, базами данных или вводом/выводом. Благодаря данной статье ты разберешься с асинхронной обработкой запросов.
👉Читать статью
Разъяснивший Python
Асинхронная обработка запросов позволяет обрабатывать несколько задач одновременно, не блокируя основной поток выполнения. Это особенно полезно при работе с сетевыми запросами, базами данных или вводом/выводом. Благодаря данной статье ты разберешься с асинхронной обработкой запросов.
👉Читать статью
Разъяснивший Python
Хабр
Асинхронная обработка запросов в Python: необходимость или просто модное слово?
Все прекрасно понимают, что традиционное, классическое, «синхронное» программирование подразумевает пошаговое выполнение программного кода. Соответственно, каждый следующий шаг скрыт за пределами...
Блокировка отвлекающих сайтов
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
Разъяснивший Python
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
Разъяснивший Python
contextlib.suppress() — элегантное игнорирование исключений
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Разъяснивший Python
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Разъяснивший Python