weakref.WeakValueDictionary()
#theory // Just Python
weakref.WeakValueDictionary
из модуля weakref
создаёт словарь, где значения являются слабой ссылкой на объекты. Это полезно для кэширования данных, которые должны автоматически удаляться, когда больше нет других ссылок на объект.#theory // Just Python
traceback.format_exc()
Метод
#theory // Just Python
Метод
traceback.format_exc()
из модуля traceback
используется для получения форматированной строки трассировки исключения. Это полезно для логирования ошибок или их анализа.#theory // Just Python
os.getpid()
Метод
#theory // Just Python
Метод
os.getpid()
возвращает идентификатор текущего процесса. Это полезно для отладки и мониторинга выполнения программ.#theory // Just Python
uuid.uuid4()
Метод
#theory // Just Python
Метод
uuid.uuid4()
из модуля uuid
генерирует случайный UUID (универсально уникальный идентификатор), основанный на случайных данных. Это полезно для создания уникальных идентификаторов для объектов.#theory // Just Python
pathlib.Path.exists()
Метод
#theory // Just Python
Метод
pathlib.Path.exists()
используется для проверки существования файла или директории. Это удобный способ работы с файловой системой в Python.#theory // Just Python
secrets.token_hex()
Метод
#theory // Just Python
Метод
secrets.token_hex()
используется для генерации безопасных случайных токенов. Это полезно для создания уникальных идентификаторов, паролей или API-ключей.#theory // Just Python
Антипаттерн недели: Использование mutable default arguments
В Python опасно использовать изменяемые объекты (списки, словари, множества) как значения по умолчанию в аргументах функций. Это приводит к непредсказуемому поведению, так как объект создаётся один раз при определении функции и сохраняет своё состояние между вызовами.
Используйте
#theory // Just Python
В Python опасно использовать изменяемые объекты (списки, словари, множества) как значения по умолчанию в аргументах функций. Это приводит к непредсказуемому поведению, так как объект создаётся один раз при определении функции и сохраняет своё состояние между вызовами.
Используйте
None
в качестве значения по умолчанию и создавайте новый объект внутри функции.#theory // Just Python
threading.Timer()
Метод
#theory // Just Python
Метод
threading.Timer()
позволяет создавать таймеры, которые выполняют определенную функцию через заданный интервал времени. Это полезно для отложенного выполнения задач без блокировки основного потока.#theory // Just Python
functools.singledispatch
Метод
#theory // Just Python
Метод
functools.singledispatch
позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...)
.#theory // Just Python
sys.setprofile()
Метод
#theory // Just Python
Метод
sys.setprofile()
позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.#theory // Just Python
contextlib.ExitStack
#theory // Just Python
contextlib.ExitStack
позволяет управлять несколькими контекстными менеджерами динамически.#theory // Just Python
pathlib.Path.read_text()
#theory // Just Python
pathlib.Path.read_text()
— удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.#theory // Just Python
sys.call_tracing()
#theory // Just Python
sys.call_tracing()
позволяет выполнить функцию с заданными аргументами, включая трассировку вызовов, установленную через sys.settrace()
. Это полезно для профилирования и отладки.#theory // Just Python
dataclasses.astuple()
#theory // Just Python
dataclasses.astuple()
преобразует объект dataclass в неизменяемый кортеж, что удобно для сериализации и работы с неизменяемыми структурами.#theory // Just Python
sys._current_frames()
#theory // Just Python
sys._current_frames()
позволяет получить стеки вызовов всех активных потоков в программе. Это полезно для отладки многопоточных приложений.#theory // Just Python
types.new_class()
#theory // Just Python
types.new_class()
позволяет динамически создавать новые классы во время выполнения программы. Это полезно для метапрограммирования, создания классов с динамическими атрибутами и автоматической генерации API.#theory // Just Python
inspect.getgeneratorstate()
#theory // Just Python
inspect.getgeneratorstate()
позволяет определить текущее состояние генератора. Это полезно при отладке и анализе работы генераторов в Python, чтобы понимать, активен ли генератор, завершён или ожидает ввода.#theory // Just Python
sys.setswitchinterval()
#theory // Just Python
sys.setswitchinterval()
позволяет управлять частотой переключения потоков в Python, изменяя временной интервал между переключениями контекста. Это полезно для настройки многопоточных программ.#theory // Just Python
inspect.currentframe()
#theory // Just Python
inspect.currentframe()
позволяет получить текущий стек вызовов и информацию о выполняемом коде. Это полезно для отладки, логирования и анализа исполнения программы.#theory // Just Python
os.getloadavg()
возвращает среднюю нагрузку на систему за последние 1, 5 и 15 минут. Это полезно для мониторинга производительности и загрузки CPU.#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM