dataclasses.astuple()
преобразует объект dataclass в неизменяемый кортеж, что удобно для сериализации и работы с неизменяемыми структурами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
is
при сравнении строкВ Python оператор
is
проверяет, ссылаются ли две переменные на один и тот же объект в памяти, а не равны ли их значения. Это может приводить к неожиданным ошибкам при сравнении строк.==
для сравнения значений строк, а не is
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
sys._current_frames()
позволяет получить стеки вызовов всех активных потоков в программе. Это полезно для отладки многопоточных приложений.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1
types.new_class()
позволяет динамически создавать новые классы во время выполнения программы. Это полезно для метапрограммирования, создания классов с динамическими атрибутами и автоматической генерации API.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
inspect.getgeneratorstate()
позволяет определить текущее состояние генератора. Это полезно при отладке и анализе работы генераторов в Python, чтобы понимать, активен ли генератор, завершён или ожидает ввода.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
sys.setswitchinterval()
позволяет управлять частотой переключения потоков в Python, изменяя временной интервал между переключениями контекста. Это полезно для настройки многопоточных программ.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
inspect.currentframe()
позволяет получить текущий стек вызовов и информацию о выполняемом коде. Это полезно для отладки, логирования и анализа исполнения программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥1
Пояснение
Декоратор @lru_cache (maxsize=2) кэширует результаты вызовов функции fibonacci(n), ускоряя вычисления. fibonacci(5) рекурсивно вычисляет сумму fibonacci(4) + fibonacci(3), что даёт 5. Код выполняется без ошибок.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥2😁2
👍6
os.getloadavg()
возвращает среднюю нагрузку на систему за последние 1, 5 и 15 минут. Это полезно для мониторинга производительности и загрузки CPU.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥1
signal.set_wakeup_fd()
позволяет отправлять сигналы в файловый дескриптор вместо стандартного обработчика сигналов. Это полезно для обработки сигналов в асинхронных приложениях.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1
rich.print()
— это удобный способ красиво выводить текст, таблицы и логи в терминал с поддержкой цветного форматирования. Библиотека rich
делает консольные приложения более читаемыми и наглядными.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11👍11
finally
при работе с ресурсамиВ Python важно гарантированно освобождать ресурсы (файлы, соединения, сокеты). Если этого не делать, возможны утечки памяти и зависание программы.
finally
или конструкцию with
для автоматического управления ресурсами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
loguru.logger
— это мощный и удобный логгер, который упрощает логирование в Python. Он поддерживает цветной вывод, автоматическое форматирование и удобное управление логами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🗿2🔥1
Path.resolve()
из модуля pathlib
позволяет получить абсолютный путь к файлу или директории, автоматически обрабатывая символические ссылки и относительные пути. Это удобный способ работы с файловой системой в Python.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
contextlib.suppress()
позволяет временно подавлять определённые исключения в блоке кода. Это удобная альтернатива try-except
, если нам не нужно обрабатывать ошибку, а просто игнорировать её.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
inspect.signature()
позволяет получать информацию о сигнатуре функции, включая её аргументы, значения по умолчанию и аннотации. Это полезно для метапрограммирования, генерации документации и анализа кода во время выполнения.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
contextlib.nullcontext()
создаёт пустой контекстный менеджер, который не выполняет никаких действий. Это полезно, когда нужно условно использовать with
, но в некоторых случаях контекстный менеджер не требуется.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥1
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
👍10❤🔥1
👍7⚡2