🧊 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
Изучи любой 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