ch
Feedback
Python Academy

Python Academy

前往频道在 Telegram

🐍 Прокачайте свои навыки в Python без лишних слов и бубна. Нет туториалов - только чистый код!

显示更多
2 490
订阅者
+524 小时
-247 天
-7430 天
帖子存档
🛑 Прерывание цикла for с else Мало кто знает, но for и while в Python могут иметь else. Этот else сработает только если цикл
🛑 Прерывание цикла for с else Мало кто знает, но for и while в Python могут иметь else. Этот else сработает только если цикл не был прерван через break. Удобно, когда нужно узнать, завершился ли цикл «естественно». 🎯 Итог Конструкция for/else помогает элегантно отличить «успешный» проход по циклу от прерывания. Полезно при поиске, проверках и валидации! Python Academy

🧊 Безопасное извлечение значений из словаря Иногда нужно получить значение из словаря, но ключ может отсутствовать. Вместо л
🧊 Безопасное извлечение значений из словаря Иногда нужно получить значение из словаря, но ключ может отсутствовать. Вместо лишних if — используй .get() с дефолтным значением. 🎯 Итог Метод .get() делает код чище и безопаснее, особенно при работе с необязательными данными. Python Academy

🧼 Безопасное удаление ключа из словаря Обычно при удалении ключа из словаря с del можно случайно получить KeyError, если клю
🧼 Безопасное удаление ключа из словаря Обычно при удалении ключа из словаря с del можно случайно получить KeyError, если ключа нет. А вот dict.pop() с дефолтным значением — безопаснее и удобнее! 🎯 Итог Используй dict.pop(key, default) — безопасный способ удалить ключ и получить значение, если оно нужно. Уберегаешься от KeyError и пишешь устойчивый код. Python Academy

Объединение списка строк в одну строку Метод .join() объединяет элементы списка в одну строку, используя заданный разделитель
Объединение списка строк в одну строку Метод .join() объединяет элементы списка в одну строку, используя заданный разделитель (в примере — пробел " "). Плюсы: ✔ Быстрее и эффективнее, чем перебор в цикле ✔ Гибкость: можно выбрать любой разделитель (например, ",".join() для CSV) Осторожно: ❌ Все элементы списка должны быть строками, иначе будет ошибка. Python Academy

🗺 В Нижегородской области зарегистрировано более 132 000 МСП. Наиболее конкурентные сферы региона — торговля, рестораны и услуги. Всё больше бизнесов сталкиваются с тем, что их ищут на просторах сети, даже если сами компании нацелены на офлайн. Так, по данным Яндекса, 63% людей изучают информацию в интернете перед покупкой, почти 1/3 пользователей Яндекс Карт заходят в приложение ежедневно, 2/3 - несколько раз в неделю. С помощью карточки компании и работы с отзывами начинающие предприниматели могут выстроить доверие с клиентами. А еще понять, что востребовано ими в конкретных локациях через Геоаналитику. Так, например, Речной вокзал — в топе по запросам на рестораны и бары. Об особенностях использования геосервисов нижегородцами для бизнеса пишет Артём Савинов, руководитель проектов в Яндекс Картах. Python Academy

🪄 Ускорение сериализации с orjson Обычный json модуль в Python медленный. Если тебе нужно быстро сериализовать/десериализова
🪄 Ускорение сериализации с orjson Обычный json модуль в Python медленный. Если тебе нужно быстро сериализовать/десериализовать данные — используй orjson, он в разы быстрее и поддерживает datetime из коробки. 🎯 Итог orjson — отличный выбор, если тебе важна производительность при работе с JSON. Он быстрее стандартного модуля и проще в использовании. Python Academy

🧠 Проверка типов во время разработки — mypy Пайтон — динамический язык, но ты можешь использовать статическую проверку типов
🧠 Проверка типов во время разработки — mypy Пайтон — динамический язык, но ты можешь использовать статическую проверку типов с помощью mypy для улавливания ошибок до запуска кода. 🎯 Итог mypy помогает ловить ошибки типов на раннем этапе и делает твой код надежнее. Особенно полезен в больших проектах с командами. Python Academy

🧼 Чистое логирование без print — используй logging Вместо print() лучше сразу привыкай к модулю logging — он гибкий и профес
🧼 Чистое логирование без print — используй logging Вместо print() лучше сразу привыкай к модулю logging — он гибкий и профессиональный. 🎯 Итог Модуль logging — must-have для любого серьезного Python-кода. Он делает отладку и сопровождение кода намного приятнее и чище. Python Academy

🧪 Быстрая проверка скорости кода с timeit Когда нужно узнать, какой из двух подходов быстрее — используй модуль timeit. 🎯 И
🧪 Быстрая проверка скорости кода с timeit Когда нужно узнать, какой из двух подходов быстрее — используй модуль timeit. 🎯 Итог Используй timeit, чтобы быстро сравнить производительность разных решений. Особенно полезно при выборе между похожими по смыслу, но разными по скорости подходами. Python Academy

🧼 Удаление дубликатов из вложенных списков Иногда нужно удалить дубликаты из списка списков — но set тут не работает напряму
🧼 Удаление дубликатов из вложенных списков Иногда нужно удалить дубликаты из списка списков — но set тут не работает напрямую, ведь списки — неизменяемые. Есть простое решение! 🎯 Итог Для удаления дубликатов из списка списков — конвертируй во tuple, используй set, потом верни всё обратно. Быстро и без лишних циклов. Python Academy

🧵 Ускорение многозадачности с concurrent.futures.ThreadPoolExecutor Когда тебе нужно выполнить несколько I/O-зависимых задач
🧵 Ускорение многозадачности с concurrent.futures.ThreadPoolExecutor Когда тебе нужно выполнить несколько I/O-зависимых задач (например, запросы к API или чтение файлов), но ты не хочешь возиться с asyncio, можно использовать ThreadPoolExecutor — просто и эффективно. 🎯 Итог ThreadPoolExecutor — мощный способ ускорить I/O-операции с минимальными усилиями. Особенно удобен, если не хочется переписывать проект под asyncio. Python Academy

🧪 Проверка типов во время разработки с typing.assert_type Иногда полезно явно указать ожидаемый тип переменной — особенно пр
🧪 Проверка типов во время разработки с typing.assert_type Иногда полезно явно указать ожидаемый тип переменной — особенно при сложных аннотациях или когда IDE не даёт точной подсказки. Python 3.11+ предоставляет утилиту typing.assert_type для таких целей. Во время выполнения assert_type не делает ничего — он нужен только для анализа типизации инструментами, как mypy или Pyright. 🎯 Итог assert_type помогает быть уверенным, что типы совпадают с ожиданиями, и делает код более безопасным без влияния на производительность. Python Academy

📌 Быстрое сравнение объектов через dataclasses Если тебе нужно сравнивать экземпляры классов по значениям, а не по идентифик
📌 Быстрое сравнение объектов через dataclasses Если тебе нужно сравнивать экземпляры классов по значениям, а не по идентификаторам, используй @dataclass — это избавит от ручной реализации eq. 🎯 Итог @dataclass не только сокращает шаблонный код, но и позволяет автоматически сравнивать объекты по значению их полей — удобно и читаемо. Python Academy

🕵️ Удобный способ подавить ошибки через contextlib.suppress Иногда нужно игнорировать определённые исключения, не захламляя
🕵️ Удобный способ подавить ошибки через contextlib.suppress Иногда нужно игнорировать определённые исключения, не захламляя код try-except. Для этого идеально подходит contextlib.suppress. 🎯 Итог suppress делает код чище, когда нужно спокойно обойтись без конкретных исключений. Особенно полезно в служебных операциях типа удаления или проверки. Python Academy

Распаковка элементов с помощью *_ Если вам нужно проигнорировать некоторые значения при распаковке, используйте *_ `Отлично п
Распаковка элементов с помощью *_ Если вам нужно проигнорировать некоторые значения при распаковке, используйте *_ `Отлично подходит для игнорирования ненужных данных. Python Academy

🧩 Используй functools.lru_cache для кэширования результатов Если у тебя есть функция, которую вызывают с одними и теми же ар
🧩 Используй functools.lru_cache для кэширования результатов Если у тебя есть функция, которую вызывают с одними и теми же аргументами, а её выполнение ресурсоёмкое — можно автоматически кэшировать её результат с помощью lru_cache. 🎯 Итог lru_cache автоматически сохраняет результаты вызовов функции и экономит ресурсы при повторных вызовах. Особенно полезно для рекурсивных и часто вызываемых функций. Python Academy

🧪 Простое логирование времени выполнения кода с timeit Нужно быстро узнать, сколько времени занимает участок кода? Не нужно
🧪 Простое логирование времени выполнения кода с timeit Нужно быстро узнать, сколько времени занимает участок кода? Не нужно писать таймеры вручную — есть timeit. 🎯 Итог Модуль timeit — удобный способ измерить производительность кода без лишней возни с time. Особенно полезен при сравнении разных реализаций. Python Academy

🛑 Безопасное закрытие ресурсов с contextlib.suppress Иногда нужно проигнорировать конкретные ошибки, не загромождая код try/
🛑 Безопасное закрытие ресурсов с contextlib.suppress Иногда нужно проигнорировать конкретные ошибки, не загромождая код try/except-блоками. contextlib.suppress делает это изящно. 🎯 Итог contextlib.suppress помогает лаконично и безопасно игнорировать конкретные исключения, не засоряя код лишней обработкой. Python Academy

🧵 Ускорение кода с помощью functools.cache Когда функция вызывается часто с одними и теми же аргументами (например, при реку
🧵 Ускорение кода с помощью functools.cache Когда функция вызывается часто с одними и теми же аргументами (например, при рекурсии), можно использовать кэширование результатов с помощью декоратора @cache. 🎯 Итог @cache (или @lru_cache) позволяет многократно ускорить повторяющиеся вычисления без изменения логики — просто добавь декоратор. Python Academy

🧪 Проверка аргументов функций — assert как мини-валидация Иногда нужно быстро проверить корректность аргументов функции. Мож
🧪 Проверка аргументов функций — assert как мини-валидация Иногда нужно быстро проверить корректность аргументов функции. Можно использовать assert для встроенной валидации прямо в начале. 🎯 Итог assert — быстрый способ «подстелить соломку» и отлавливать очевидные ошибки ещё до выполнения основного тела функции. Особенно полезно в прототипах и тестах. Python Academy