🧪 **Проверка существования атрибута без try/except
**
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
🎯 Итог
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Python Academy
**
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
🎯 Итог
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Python Academy
👎5👍3
📌 **Объединение словарей без update()
**
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
🎯 Итог
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
Python Academy
**
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
🎯 Итог
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
Python Academy
👏7
Общий сбор Python-разработчиков на бесплатном митапе ЮMoney «Питоняшки»
Он пройдет 3 июля в 19:00. Офлайн — в Санкт-Петербурге, онлайн — в любой точке мира.
Доклады:
— Это не те метрики, что вы ищете. Разбор, почему стандартного экспортёра может не хватать, и как написать свой на Python.
— Кодогенерация: как компьютеры учатся писать код за нас.
— Ruff: как не положить всё, переходя на новые правила?
— Применение scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.
Регистрация уже открыта, а подробности — на сайте.
Python Academy
Он пройдет 3 июля в 19:00. Офлайн — в Санкт-Петербурге, онлайн — в любой точке мира.
Доклады:
— Это не те метрики, что вы ищете. Разбор, почему стандартного экспортёра может не хватать, и как написать свой на Python.
— Кодогенерация: как компьютеры учатся писать код за нас.
— Ruff: как не положить всё, переходя на новые правила?
— Применение scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.
Регистрация уже открыта, а подробности — на сайте.
Python Academy
🤗2👍1😁1
**🧊 Заморозка dataclass с frozen=True
**
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
🎯 Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
Python Academy
**
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
🎯 Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
Python Academy
🤩3🤗3
🧪 Упрощённая проверка аргументов через postinit в dataclass
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй postinit!
🎯 Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
Python Academy
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй postinit!
🎯 Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
Python Academy
🤗4🔥2👍1
🧵 **contextlib.suppress — элегантное подавление исключений
**
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
📌 Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
🎯 Итог
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
Python Academy
**
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
📌 Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
🎯 Итог
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
Python Academy
❤1
🪄 pathlib вместо os.path — чище и удобнее работа с путями
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
🎯 Итог
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
Python Academy
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
🎯 Итог
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
Python Academy
👏5❤4
Изучите азы работы Python, SQL, нейросетей и визуализации данных за 5 дней.
Бесплатный мини-курс от Skillbox для любого уровня откроет вам дорогу к направлению Data Science, в котором зарплата только начинающего специалиста составляет 100.000₽+
После мини курса Вы:
— Имеете собственное портфолио из 4 работ, которое можно показать работодателю
— Находитесь в закрытом экспертном телеграмм сообществе
— Получаете бессрочный доступ к видео-платформе
— Пообщались со спикером и закрыли все вопросы, возникшие в момент обучения
Регистрируйтесь по специальной ссылке и забирайте еще полезные подарки, один из которых: ПЕРСОНАЛЬНАЯ карьерная консультация. На мини-курс осталось 23 места.
Python Academy
Бесплатный мини-курс от Skillbox для любого уровня откроет вам дорогу к направлению Data Science, в котором зарплата только начинающего специалиста составляет 100.000₽+
После мини курса Вы:
— Имеете собственное портфолио из 4 работ, которое можно показать работодателю
— Находитесь в закрытом экспертном телеграмм сообществе
— Получаете бессрочный доступ к видео-платформе
— Пообщались со спикером и закрыли все вопросы, возникшие в момент обучения
Регистрируйтесь по специальной ссылке и забирайте еще полезные подарки, один из которых: ПЕРСОНАЛЬНАЯ карьерная консультация. На мини-курс осталось 23 места.
Python Academy
❤3👍1
Изучи любой IT-курс и не только с помощью личного ИИ-наставника, чтобы не тратить сотни тысяч рублей на профессию.
Вместо траты двух лет на обучение в онлайн-университете, используйте современные методы с PAI. Ваш ИИ-наставник составит максимально эффективный и простой для освоения курс на любую тему по вашим запросам.
Почему PAI прокачивает быстрее:
— Слушай теорию как подкаст или листай текстом
— Интерактивные задачи и мини-проекты
— Подстраивается под твой уровень — от новичка до опытного разработчика.
— Хочешь «Парсер сайтов» или «FastAPI для джунов»? Платформа соберёт программу под твой запрос.
— Подписка вместо дорогого курса
Переходи по ссылке, пробуй 3 дня бесплатно и убедись сам!
Реклама. Информация о рекламодателе по ссылкам в посте.
Python Academy
Вместо траты двух лет на обучение в онлайн-университете, используйте современные методы с PAI. Ваш ИИ-наставник составит максимально эффективный и простой для освоения курс на любую тему по вашим запросам.
Почему PAI прокачивает быстрее:
— Слушай теорию как подкаст или листай текстом
— Интерактивные задачи и мини-проекты
— Подстраивается под твой уровень — от новичка до опытного разработчика.
— Хочешь «Парсер сайтов» или «FastAPI для джунов»? Платформа соберёт программу под твой запрос.
— Подписка вместо дорогого курса
Переходи по ссылке, пробуй 3 дня бесплатно и убедись сам!
Реклама. Информация о рекламодателе по ссылкам в посте.
Python Academy
🎉5❤2
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 3 июля!
👉 Записаться бесплатно (осталось 12 мест).
Python Academy
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 3 июля!
👉 Записаться бесплатно (осталось 12 мест).
Python Academy
👍7
Использование defaultdict из модуля collections для работы с словарями
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
Python Academy
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
Python Academy
❤3
Визуализация сортировки с помощью matplotlib
Вы можете использовать библиотеку matplotlib для визуализации процесса сортировки в реальном времени. Это поможет лучше понять, как работают различные алгоритмы сортировки.
Этот лайфхак позволяет буквально "увидеть" работу алгоритма и может быть полезен для учебных целей или просто для интереса.
Python Academy
Вы можете использовать библиотеку matplotlib для визуализации процесса сортировки в реальном времени. Это поможет лучше понять, как работают различные алгоритмы сортировки.
Этот лайфхак позволяет буквально "увидеть" работу алгоритма и может быть полезен для учебных целей или просто для интереса.
Python Academy
🤗4
🚨 contextlib.suppress() — элегантное игнорирование исключений
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
🎯 Итог
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Python Academy
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
🎯 Итог
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Python Academy
❤3👍3
Python — как первая гитара: просто, но затягивает
Пока кто-то учит программирование по роликам на YouTube, вы можете за 5 дней собрать Telegram-бота, веб-страницу и понять, ваше ли это вообще.
Python — язык, с которого начинают аналитики, дата-сайентисты, разработчики и даже автоматизаторы. Он простой, но лежит в основе десятков современных профессий. И спрос на умеющих работать с ним специалистов только растёт.
Мини-курс не грузит теорией. Это как пробная вечеринка в мире IT: сделали, почувствовали, захотели больше.
Нажмите “начать” — и пусть Python станет вашим козырем.
Python Academy
Пока кто-то учит программирование по роликам на YouTube, вы можете за 5 дней собрать Telegram-бота, веб-страницу и понять, ваше ли это вообще.
Python — язык, с которого начинают аналитики, дата-сайентисты, разработчики и даже автоматизаторы. Он простой, но лежит в основе десятков современных профессий. И спрос на умеющих работать с ним специалистов только растёт.
Мини-курс не грузит теорией. Это как пробная вечеринка в мире IT: сделали, почувствовали, захотели больше.
Нажмите “начать” — и пусть Python станет вашим козырем.
Python Academy
❤1
**🧠 dict.setdefault() — добавляем ключи без лишней проверки
**
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
🎯 Итог
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
Python Academy
**
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
🎯 Итог
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
Python Academy
😁1
**IPython
**IPython — это ядро блокнотов Jupyter.
Python Academy
**IPython — это ядро блокнотов Jupyter.
Jupyter Notebook — это веб-приложение с открытым кодом, которое позволяет создавать и обмениваться документами с живым кодом, уравнениями, визуализациями и текстовыми описаниями.Python Academy
😁4
**🧼 Временное отключение вывода в консоль
**
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
🎯 Итог
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
Python Academy
**
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
🎯 Итог
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
Python Academy
👏5
📦 Динамический импорт модулей по имени
Иногда нужно импортировать модуль по его имени, известному только во время выполнения (например, загружать плагины). Вместо importlib.importmodule можно сделать это более гибко и кратко.
🎯 Итог
С помощью importlib.importmodule и getattr можно динамически загружать модули и функции по строковому имени — удобно для создания плагин-систем и расширяемых приложений.
Python Academy
Иногда нужно импортировать модуль по его имени, известному только во время выполнения (например, загружать плагины). Вместо importlib.importmodule можно сделать это более гибко и кратко.
🎯 Итог
С помощью importlib.importmodule и getattr можно динамически загружать модули и функции по строковому имени — удобно для создания плагин-систем и расширяемых приложений.
Python Academy
❤13
**🌱 Безопасный доступ к переменным окружения
**
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через os.environ может выбросить KeyError, если переменная не задана.
🎯 Итог
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.
Python Academy
**
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через os.environ может выбросить KeyError, если переменная не задана.
🎯 Итог
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.
Python Academy
👍15🔥1
🧊 Кэширование медленных функций с @lrucache
Если у тебя есть тяжёлая или часто вызываемая функция с одними и теми же аргументами — можешь ускорить её с помощью встроенного декоратора lrucache.
🎯 Итог
@lru_cache — простой способ кешировать результат функции и избежать повторных вычислений. Особенно полезен в задачах с рекурсией, API-запросами или обработкой данных.
Python Academy
Если у тебя есть тяжёлая или часто вызываемая функция с одними и теми же аргументами — можешь ускорить её с помощью встроенного декоратора lrucache.
🎯 Итог
@lru_cache — простой способ кешировать результат функции и избежать повторных вычислений. Особенно полезен в задачах с рекурсией, API-запросами или обработкой данных.
Python Academy
❤8
**🧹 Очистка текста с помощью str.translate и str.maketrans
**
Когда нужно быстро удалить нежелательные символы (например, знаки препинания) из строки, не нужно писать цикл — str.translate делает это мгновенно.
🎯 Итог
Сочетание str.translate и str.maketrans — суперэффективный способ удаления символов из строки без регулярных выражений. Удобно, читаемо и быстро!
Python Academy
**
Когда нужно быстро удалить нежелательные символы (например, знаки препинания) из строки, не нужно писать цикл — str.translate делает это мгновенно.
🎯 Итог
Сочетание str.translate и str.maketrans — суперэффективный способ удаления символов из строки без регулярных выражений. Удобно, читаемо и быстро!
Python Academy
🤩11