Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
911 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
🚫 Антипаттерн недели: Игнорирование finally при работе с ресурсами

В Python важно гарантированно освобождать ресурсы (файлы, соединения, сокеты). Если этого не делать, возможны утечки памяти и зависание программы.

✔️ Используйте блок finally или конструкцию with для автоматического управления ресурсами.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
⚙️ loguru.logger

loguru.logger — это мощный и удобный логгер, который упрощает логирование в Python. Он поддерживает цветной вывод, автоматическое форматирование и удобное управление логами.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🗿2🔥1
⚙️ pathlib.Path.resolve()

Path.resolve() из модуля pathlib позволяет получить абсолютный путь к файлу или директории, автоматически обрабатывая символические ссылки и относительные пути. Это удобный способ работы с файловой системой в Python.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
⚙️ contextlib.suppress()

contextlib.suppress() позволяет временно подавлять определённые исключения в блоке кода. Это удобная альтернатива try-except, если нам не нужно обрабатывать ошибку, а просто игнорировать её.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
🐍Пишете на Python, но с веб-разработкой пока не срослось. Попробовали Django — слишком громоздко. Flask — вроде проще, но чего-то не хватает. В итоге на бэкенде сплошной хаос, а продакшену страшно доверить даже тестовый сервер.

FastAPI решает эти проблемы. Он быстрый, удобный и дружит с асинхронностью. Хотите понять, как писать API и рендерить страницы без боли? Приходите на открытый урок «Знакомство с веб-разработкой на FastAPI» 27 февраля в 20:00 (мск).

Мы разберём:
- Как работает FastAPI и почему он быстрее Flask
- Как писать JSON API и рендерить HTML в одном приложении
- Как подружить FastAPI с Jinja2 и обрабатывать формы

Спикер Сурен Хоренян — бэкенд-разработчик на Python, open-source contributor, руководитель команды в ВК Рекламе.

Участники получат скидку на большое обучение «Python Developer. Basic».

👉Регистрируйтесь на вебинар: https://otus.pw/tvXs/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍5🔥1
⚙️ inspect.signature()

inspect.signature() позволяет получать информацию о сигнатуре функции, включая её аргументы, значения по умолчанию и аннотации. Это полезно для метапрограммирования, генерации документации и анализа кода во время выполнения.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
У вас была ситуация, когда вы открываете новый проект или библиотеку и пытаетесь разобраться в коде?

Если в этом проекте используются аннотации типов - вы справитесь с этой задачей намного быстрее. Также на уроке рассмотрим библиотеку pydantic, которая позволяет вывести на новый уровень работу с данными в Python.

Узнайте, как эффективно реализовать интернационализацию и локализацию в Spring-приложениях.

26 февраля в 20:00 МСК
Бесплатно. Урок в рамках старта курса «Python для аналитики» от Otus.

💬 Ссылка на регистрацию:
https://clck.ru/3GcbT5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🤔2
⚙️ contextlib.nullcontext()

contextlib.nullcontext() создаёт пустой контекстный менеджер, который не выполняет никаких действий. Это полезно, когда нужно условно использовать with, но в некоторых случаях контекстный менеджер не требуется.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥1
⚙️ importlib.resources.files()

importlib.resources.files() позволяет безопасно работать с ресурсами внутри пакетов без необходимости вручную определять пути. Это удобный способ загружать файлы внутри модулей.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥1🏆1
Что будет выведено при выполнении кода?

Пояснение
⬇️
Counter подсчитывает количество повторений элементов в списке. 'apple' встречается 3 раза, а 'grape' отсутствует, поэтому counter['grape'] возвращает 0, а не KeyError. Код выполняется без ошибок.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤‍🔥1
⚙️ gc.freeze()

gc.freeze() фиксирует все уже существующие объекты в памяти, исключая их из будущих сборок мусора. Это полезно для оптимизации долгоживущих процессов, например, серверов или CLI-приложений, снижая нагрузку на сборщик мусора.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥1
⚙️ threading.excepthook()

threading.excepthook() позволяет перехватывать исключения, возникшие в потоках, что полезно для логирования и предотвращения неожиданного завершения программы.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥1
🚫 Антипаттерн недели: Использование изменяемых объектов как ключей в словаре

В Python ключи в dict должны быть неизменяемыми (immutable). Если использовать изменяемые объекты (списки, множества), это приведёт к TypeError, так как такие объекты нехешируемы.

✔️ Используйте кортежи или строки в качестве ключей.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥1
⚙️ sys.unraisablehook

sys.unraisablehook позволяет перехватывать исключения, которые не могут быть обработаны обычным try-except, например, ошибки в деструкторах (__del__). Это полезно для отладки и логирования неожиданных ошибок.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥1
⚙️ faulthandler.dump_traceback()

faulthandler.dump_traceback() позволяет принудительно вывести текущий стек вызовов без аварийного завершения программы. Это полезно для отладки зависших процессов или анализа выполнения кода.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
⚙️ sys.getallocatedblocks()

sys.getallocatedblocks() возвращает количество блоков памяти, выделенных интерпретатором Python. Это полезно для отладки утечек памяти и анализа работы сборщика мусора.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
Что будет выведено при выполнении кода?

Пояснение
⬇️
Функция map() применяет лямбда-функцию lambda x: x ** 2 ко всем элементам списка numbers. list(squared) превращает объект map в список [1, 4, 9, 16]. Код выполняется без ошибок.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5🍾3
⚙️ types.GenericAlias

types.GenericAlias позволяет программно создавать типизированные аннотации, как если бы они были объявлены с list[int], dict[str, float] и другими параметризованными типами.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1