Использование 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
Дизайн — это не просто красиво. Это то, за что платят
Пока одни думают, что дизайн — это рисовать красивые кнопки, другие уже собирают портфолио, делают проекты и зарабатывают на создании красоты.
Мини-курс по дизайну даёт возможность зайти в профессию: посмотреть, как устроены веб-дизайн, графика, иллюстрация. Сделать интерфейс мобильного приложения, фирменный стиль для бренда, упаковку и лендинг, изучить инструменты, задать вопросы в прямом эфире.
Материалы подбираются под ваш уровень — от «я слышал только слово Figma» до «уже пробовал, но не понял, куда двигаться дальше». Всё это — в одном месте.
Откройте курс — и сделайте шаг от мечты о дизайне к первому проекту в портфолио.
Python Academy
Пока одни думают, что дизайн — это рисовать красивые кнопки, другие уже собирают портфолио, делают проекты и зарабатывают на создании красоты.
Мини-курс по дизайну даёт возможность зайти в профессию: посмотреть, как устроены веб-дизайн, графика, иллюстрация. Сделать интерфейс мобильного приложения, фирменный стиль для бренда, упаковку и лендинг, изучить инструменты, задать вопросы в прямом эфире.
Материалы подбираются под ваш уровень — от «я слышал только слово Figma» до «уже пробовал, но не понял, куда двигаться дальше». Всё это — в одном месте.
Откройте курс — и сделайте шаг от мечты о дизайне к первому проекту в портфолио.
Python Academy
🔥10
🔐 Безопасная подстановка значений в SQL — не через f-строки!
Никогда не вставляй пользовательские данные напрямую в SQL-запросы. Используй параметризацию — это защищает от SQL-инъекций и делает код надёжнее.
Python Academy
Никогда не вставляй пользовательские данные напрямую в SQL-запросы. Используй параметризацию — это защищает от SQL-инъекций и делает код надёжнее.
Python Academy
🤗7
**Резервирование символов
**С помощью операторов
Python Academy
**С помощью операторов
> / < / ^` вы можете добавлять выходному значению символы, к примеру, облегчающие поиск среди других выходных значений.
Как видно в сниппете, `<` добавит символы после, `> – до, а ^ – окружит с двух сторон.Python Academy
🤗8
Тестировщики находят ошибки в программах — и зарабатывают от 70 000 ₽
Как «укусить» IT профессию — без обязательств.
Skillbox придумал простой способ: вы заходите в Telegram, проходите короткий тест — и получаете серию мини-уроков, где на практике ловите баги, учитесь работать с базами и смотрите, как думают тестировщики.
Вы не подписываетесь на вечную учёбу, не платите и не обещаете «изменить свою жизнь». Вы просто проверяете: интересно это вам или нет.
И если «да», то вам дадут подарки — курс английского, гайд по профессии и шанс выиграть 1,5 млн в хакатоне.
Мест почти не осталось. Забирайте, вход пока открыт: получить курс.
Python Academy
Как «укусить» IT профессию — без обязательств.
Skillbox придумал простой способ: вы заходите в Telegram, проходите короткий тест — и получаете серию мини-уроков, где на практике ловите баги, учитесь работать с базами и смотрите, как думают тестировщики.
Вы не подписываетесь на вечную учёбу, не платите и не обещаете «изменить свою жизнь». Вы просто проверяете: интересно это вам или нет.
И если «да», то вам дадут подарки — курс английского, гайд по профессии и шанс выиграть 1,5 млн в хакатоне.
Мест почти не осталось. Забирайте, вход пока открыт: получить курс.
Python Academy
🤗8
**🐍 Условное присваивание с оператором or
**
Иногда нужно задать значение по умолчанию, если переменная пуста или None. Вместо длинной конструкции if, можно использовать короткий трюк.
🎯 Итог
Оператор or — удобный способ задать значение по умолчанию, когда переменная может быть пустой, None, 0 или ''. Упрощает код и делает его чище.
Python Academy
**
Иногда нужно задать значение по умолчанию, если переменная пуста или None. Вместо длинной конструкции if, можно использовать короткий трюк.
🎯 Итог
Оператор or — удобный способ задать значение по умолчанию, когда переменная может быть пустой, None, 0 или ''. Упрощает код и делает его чище.
Python Academy
👍4❤1
**🔁 Используй enumerate вместо счётчиков вручную
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!
🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.
Python Academy
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!
🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.
Python Academy
🤗9
**🔁 Используй enumerate вместо счётчиков вручную
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!
🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.
Python Academy
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!
🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.
Python Academy
🎉6😁5🤗3🤩2
🕰️ Быстрая проверка времени выполнения с timeit
Иногда нужно быстро узнать, сколько времени занимает тот или иной фрагмент кода. Вместо написания таймеров — используй модуль timeit.
Модуль timeit точно измеряет производительность фрагмента кода и учитывает мелкие колебания времени.
🎯 Итог
timeit — отличный инструмент для быстрой и точной оценки производительности. Удобен для сравнений разных реализаций алгоритмов и оптимизаций.
Python Academy
Иногда нужно быстро узнать, сколько времени занимает тот или иной фрагмент кода. Вместо написания таймеров — используй модуль timeit.
Модуль timeit точно измеряет производительность фрагмента кода и учитывает мелкие колебания времени.
🎯 Итог
timeit — отличный инструмент для быстрой и точной оценки производительности. Удобен для сравнений разных реализаций алгоритмов и оптимизаций.
Python Academy
🔥12🤗4🤩3
🧪** Проверка типов переменной с помощью typing.get_origin и typing.get_args
**
Когда ты работаешь с аннотациями типов (особенно с Union, List[int], Optional[str] и т.п.), стандартной проверки isinstance() недостаточно.
Это удобно, когда ты хочешь программно проанализировать или валидировать типы в декораторах, валидаторах, фреймворках и библиотеках.
🎯 Итог
С помощью get_origin и get_args ты можешь "распаковать" сложные типы и точно понимать, что за структура стоит за аннотацией. Очень полезно при создании универсальных функций или фреймворков.
Python Academy
**
Когда ты работаешь с аннотациями типов (особенно с Union, List[int], Optional[str] и т.п.), стандартной проверки isinstance() недостаточно.
Это удобно, когда ты хочешь программно проанализировать или валидировать типы в декораторах, валидаторах, фреймворках и библиотеках.
🎯 Итог
С помощью get_origin и get_args ты можешь "распаковать" сложные типы и точно понимать, что за структура стоит за аннотацией. Очень полезно при создании универсальных функций или фреймворков.
Python Academy
👍4👏2😁2🤩1