🧼 Безопасное удаление ключа из словаря
Обычно при удалении ключа из словаря с del можно случайно получить KeyError, если ключа нет. А вот dict.pop() с дефолтным значением — безопаснее и удобнее!
🎯 Итог
Используй dict.pop(key, default) — безопасный способ удалить ключ и получить значение, если оно нужно. Уберегаешься от KeyError и пишешь устойчивый код.
Python Academy
Обычно при удалении ключа из словаря с del можно случайно получить KeyError, если ключа нет. А вот dict.pop() с дефолтным значением — безопаснее и удобнее!
🎯 Итог
Используй dict.pop(key, default) — безопасный способ удалить ключ и получить значение, если оно нужно. Уберегаешься от KeyError и пишешь устойчивый код.
Python Academy
👍13
🧊 Безопасное извлечение значений из словаря
Иногда нужно получить значение из словаря, но ключ может отсутствовать. Вместо лишних if — используй .get() с дефолтным значением.
🎯 Итог
Метод .get() делает код чище и безопаснее, особенно при работе с необязательными данными.
Python Academy
Иногда нужно получить значение из словаря, но ключ может отсутствовать. Вместо лишних if — используй .get() с дефолтным значением.
🎯 Итог
Метод .get() делает код чище и безопаснее, особенно при работе с необязательными данными.
Python Academy
🤩4❤2🤗2🎉1
🛑 Прерывание цикла for с else
Мало кто знает, но for и while в Python могут иметь else. Этот else сработает только если цикл не был прерван через break. Удобно, когда нужно узнать, завершился ли цикл «естественно».
🎯 Итог
Конструкция for/else помогает элегантно отличить «успешный» проход по циклу от прерывания. Полезно при поиске, проверках и валидации!
Python Academy
Мало кто знает, но for и while в Python могут иметь else. Этот else сработает только если цикл не был прерван через break. Удобно, когда нужно узнать, завершился ли цикл «естественно».
🎯 Итог
Конструкция for/else помогает элегантно отличить «успешный» проход по циклу от прерывания. Полезно при поиске, проверках и валидации!
Python Academy
🎉7
🧊 setdefault() для упрощения работы со словарями
Иногда нужно добавлять значения в словарь списков. Можно проверять наличие ключа вручную, а можно использовать setdefault().
🎯 Итог
Метод setdefault() избавляет от лишней проверки ключей и помогает лаконично группировать данные в словарях.
Python Academy
Иногда нужно добавлять значения в словарь списков. Можно проверять наличие ключа вручную, а можно использовать setdefault().
🎯 Итог
Метод setdefault() избавляет от лишней проверки ключей и помогает лаконично группировать данные в словарях.
Python Academy
😁6🤩5🤗2❤1
🐍 Как элегантно "перевернуть" словарь
Иногда нужно поменять местами ключи и значения в словаре. Это можно сделать в одну строчку с помощью генератора словаря.
🎯 Итог
Инвертирование словаря — это просто и читаемо с генератором. Но помни: значения должны быть уникальны и хэшируемы, чтобы не потерять данные!
Python Academy
Иногда нужно поменять местами ключи и значения в словаре. Это можно сделать в одну строчку с помощью генератора словаря.
🎯 Итог
Инвертирование словаря — это просто и читаемо с генератором. Но помни: значения должны быть уникальны и хэшируемы, чтобы не потерять данные!
Python Academy
🤗6
Использование list comprehension для фильтрации и преобразования данных
List comprehension в Python предоставляет лаконичный способ создания списков, позволяя не только итерировать, но и фильтровать и преобразовывать данные в одной строке. Это улучшает читаемость кода и уменьшает его объем.
Использование list comprehension позволяет создавать списки с фильтрацией и преобразованием данных в одной строке, что делает код более лаконичным, эффективным и удобочитаемым.
Python Academy
List comprehension в Python предоставляет лаконичный способ создания списков, позволяя не только итерировать, но и фильтровать и преобразовывать данные в одной строке. Это улучшает читаемость кода и уменьшает его объем.
Использование list comprehension позволяет создавать списки с фильтрацией и преобразованием данных в одной строке, что делает код более лаконичным, эффективным и удобочитаемым.
Python Academy
👏3🎉3❤1🤗1
🧭 **Как задать тайм-аут для любой функции**
Иногда нужно ограничить время выполнения функции, особенно если она может "зависнуть". Для этого можно использовать concurrent.futures и ThreadPoolExecutor.
🎯 Итог
Такой приём позволяет безопасно завершать зависающие операции, не блокируя основной поток. Отлично подходит для сетевых вызовов, парсинга и других непредсказуемых задач.
Python Academy
Иногда нужно ограничить время выполнения функции, особенно если она может "зависнуть". Для этого можно использовать concurrent.futures и ThreadPoolExecutor.
🎯 Итог
Такой приём позволяет безопасно завершать зависающие операции, не блокируя основной поток. Отлично подходит для сетевых вызовов, парсинга и других непредсказуемых задач.
Python Academy
😁5🔥2
**👀 Подсмотреть, как работают бэкендеры в прямом эфире**
5 июля пройдет Яндекс 2718 — разбор сложных архитектурных задач с участием топовых разработчиков Яндекса.
Как это работает:
— участники предлагают задачи по проектированию backend-сервисов;
— эксперты выбирают самые интересные и нетривиальные кейсы;
— разработчики из Карт, Поиска, Автономного транспорта и Рекламы решают их в прямом эфире.
Чтобы попасть на эфир нужно посмотреть требования к задачам и отправить свою. Авторы принятых вариантов получат приглашение приехать на эфир лично или подключиться онлайн. А еще можно зарегистрироваться и прийти на трансляцию за вдохновением. Все о задачах и регистрации — [здесь.](https://cutt.ly/8rWN2n5B)
Python Academy
5 июля пройдет Яндекс 2718 — разбор сложных архитектурных задач с участием топовых разработчиков Яндекса.
Как это работает:
— участники предлагают задачи по проектированию backend-сервисов;
— эксперты выбирают самые интересные и нетривиальные кейсы;
— разработчики из Карт, Поиска, Автономного транспорта и Рекламы решают их в прямом эфире.
Чтобы попасть на эфир нужно посмотреть требования к задачам и отправить свою. Авторы принятых вариантов получат приглашение приехать на эфир лично или подключиться онлайн. А еще можно зарегистрироваться и прийти на трансляцию за вдохновением. Все о задачах и регистрации — [здесь.](https://cutt.ly/8rWN2n5B)
Python Academy
❤3👍3
**Использование defaultdict для работы со словарями**
При работе со словарями часто возникает необходимость инициализировать значения по умолчанию, чтобы избежать ошибок при попытке доступа к несуществующим ключам. В таких случаях полезно использовать defaultdict из модуля collections.
Использование defaultdict упрощает код и избавляет от необходимости вручную проверять существование ключей в словаре, делая его более читаемым и эффективным.
Python Academy
При работе со словарями часто возникает необходимость инициализировать значения по умолчанию, чтобы избежать ошибок при попытке доступа к несуществующим ключам. В таких случаях полезно использовать defaultdict из модуля collections.
Использование defaultdict упрощает код и избавляет от необходимости вручную проверять существование ключей в словаре, делая его более читаемым и эффективным.
Python Academy
❤9🤗4🤩2
🧼 Удаление дубликатов, сохраняя порядок
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
🎯 Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
Python Academy
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
🎯 Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
Python Academy
👍7😁6🤗5
🔁 Повтор последнего результата в Python REPL
Если работаешь в интерактивном режиме Python (REPL), тебе не обязательно каждый раз сохранять результат в переменную — предыдущий результат всегда доступен через .
🎯 Итог
Символ в интерактивной консоли Python хранит результат последнего выражения — удобно для быстрых вычислений и экспериментов без создания переменных.
Python Academy
Если работаешь в интерактивном режиме Python (REPL), тебе не обязательно каждый раз сохранять результат в переменную — предыдущий результат всегда доступен через .
🎯 Итог
Символ в интерактивной консоли Python хранит результат последнего выражения — удобно для быстрых вычислений и экспериментов без создания переменных.
Python Academy
👍9❤5🔥2
🧪 Быстрая проверка производительности кода
Иногда хочется быстро узнать, сколько времени занимает выполнение участка кода. Можно использовать timeit прямо из интерпретатора — быстро и без импорта в файл.
🎯 Итог
Модуль timeit — отличный способ измерить время выполнения кода без лишнего шума. Особенно полезно при оптимизации.
Python Academy
Иногда хочется быстро узнать, сколько времени занимает выполнение участка кода. Можно использовать timeit прямо из интерпретатора — быстро и без импорта в файл.
🎯 Итог
Модуль timeit — отличный способ измерить время выполнения кода без лишнего шума. Особенно полезно при оптимизации.
Python Academy
👏5😁5🤗4
🧪 **Проверка существования атрибута без 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