sys.call_tracing()
позволяет выполнить функцию с заданными аргументами, включая трассировку вызовов, установленную через sys.settrace()
. Это полезно для профилирования и отладки.Python Learning
Добро пожаловать на обучающий канал по Python - @python_per_month! Если вы хотите изучить один из самых популярных языков программирования, то вы попали по адресу. Здесь вы найдете полезные уроки, примеры кода, советы опытных разработчиков, и многое другое, чтобы помочь вам освоить Python. А для вашего удобства, мы также предлагаем ссылку для друга: https://t.me/+I7jrAQKR5xAyYTAy. Если у вас возникли вопросы или вам нужна помощь, обратитесь к нашему администратору @valentin_mascarov. Мы также предоставляем возможность рекламы на нашем канале, чтобы вы могли продвигать свои продукты или услуги. Присоединяйтесь к нам уже сегодня и начните свой путь к освоению Python вместе с @python_per_month!
14 Feb, 15:06
sys.call_tracing()
позволяет выполнить функцию с заданными аргументами, включая трассировку вызовов, установленную через sys.settrace()
. Это полезно для профилирования и отладки.14 Feb, 12:54
14 Feb, 08:40
pathlib.Path.read_text()
— удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.13 Feb, 19:04
contextlib.ExitStack
позволяет управлять несколькими контекстными менеджерами динамически.12 Feb, 14:10
11 Feb, 17:40
sys.setprofile()
позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.10 Feb, 19:00
functools.singledispatch
позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...)
.10 Feb, 15:47
10 Feb, 06:28
threading.Timer()
позволяет создавать таймеры, которые выполняют определенную функцию через заданный интервал времени. Это полезно для отложенного выполнения задач без блокировки основного потока.09 Feb, 19:31
None
в качестве значения по умолчанию и создавайте новый объект внутри функции.09 Feb, 18:11
06 Feb, 18:51
signal.setitimer()
позволяет устанавливать таймер, который автоматически отправляет сигнал процессу через заданные интервалы времени. Это полезно для периодического выполнения кода без создания потоков.05 Feb, 15:47
sys.addaudithook()
позволяет отслеживать определённые события в Python, такие как импорт модулей, вызовы системных функций и доступ к ресурсам. Это полезно для мониторинга безопасности и отладки.04 Feb, 16:45
importlib.reload()
позволяет повторно загрузить модуль во время выполнения программы. Это полезно для динамической перезагрузки кода без необходимости перезапуска интерпретатора.03 Feb, 14:07
gc.get_objects()
из модуля gc
позволяет получить список всех объектов, отслеживаемых сборщиком мусора в Python. Это полезно для анализа утечек памяти и отладки.03 Feb, 08:45
sys._getframe()
позволяет получить объект текущего или родительского стека вызовов. Это полезно для отладки, анализа кода и динамического доступа к локальным переменным.02 Feb, 16:41
__import__()
позволяет динамически импортировать модули во время выполнения программы. Это полезно, когда имя модуля заранее неизвестно или зависит от условий.31 Jan, 08:52
dis.Bytecode()
из модуля dis
позволяет анализировать байт-код Python-функций. Это полезно для оптимизации кода и понимания его работы на уровне интерпретатора.30 Jan, 11:16
range(len())
вместо enumerate()
range(len(lst))
для итерации по списку с индексами, но это снижает читаемость кода и не является идиоматичным способом перебора элементов.enumerate()
, который позволяет одновременно получать индекс и значение элемента, делая код более читаемым и питоничным.28 Jan, 16:57
__slots__
позволяет явно указать, какие атрибуты может иметь объект класса, что значительно уменьшает потребление памяти и ускоряет доступ к атрибутам. Это особенно полезно при создании большого количества экземпляров класса.28 Jan, 14:25
27 Jan, 06:34
itertools.permutations()
генерирует все возможные перестановки элементов заданной последовательности. Это полезно для задач, связанных с комбинаторикой.26 Jan, 17:24
concurrent.futures.ThreadPoolExecutor
из модуля concurrent.futures
позволяет легко создавать и управлять пулом потоков для выполнения задач параллельно. Это особенно полезно для выполнения нескольких операций ввода-вывода или вычислений, которые могут быть распределены между несколькими потоками.25 Jan, 19:25
shutil.disk_usage()
из модуля shutil
предоставляет информацию о месте на диске, включая общий объём, используемое и доступное пространство. Это полезно для мониторинга состояния файловой системы.23 Jan, 20:49
inspect.getmembers()
из модуля inspect
позволяет получить список всех членов объекта, включая методы, атрибуты и встроенные свойства. Это полезно для анализа структуры классов и объектов во время выполнения.23 Jan, 15:05
23 Jan, 06:22
concurrent.futures.as_completed()
позволяет обрабатывать завершение асинхронных задач в порядке их завершения. Это полезно для параллельной обработки, где важно начать работу с результатами, как только они готовы.22 Jan, 19:25
contextlib
в Python позволяет обрабатывать несколько ресурсов с помощью менеджеров контекста более лаконично. Это полезно, когда работа идёт с большим числом файлов или объектов.21 Jan, 08:17
in
приводит к линейному времени выполнения, что может быть медленным для больших наборов данных.set
для проверки на принадлежность, чтобы снизить время выполнения до O(1).19 Jan, 18:03
typing.Protocol
из модуля typing
используется для определения интерфейсов (протоколов), которые классы должны реализовывать. Это полезно для проверки совместимости типов в статическом анализе.14 Jan, 17:08
secrets.token_hex()
используется для генерации безопасных случайных токенов. Это полезно для создания уникальных идентификаторов, паролей или API-ключей.14 Jan, 14:56
14 Jan, 12:33
pathlib.Path.exists()
используется для проверки существования файла или директории. Это удобный способ работы с файловой системой в Python.13 Jan, 18:12
uuid.uuid4()
из модуля uuid
генерирует случайный UUID (универсально уникальный идентификатор), основанный на случайных данных. Это полезно для создания уникальных идентификаторов для объектов.13 Jan, 14:55
13 Jan, 08:37
os.getpid()
возвращает идентификатор текущего процесса. Это полезно для отладки и мониторинга выполнения программ.11 Jan, 16:07
traceback.format_exc()
из модуля traceback
используется для получения форматированной строки трассировки исключения. Это полезно для логирования ошибок или их анализа.10 Jan, 11:32
09 Jan, 09:01
weakref.WeakValueDictionary
из модуля weakref
создаёт словарь, где значения являются слабой ссылкой на объекты. Это полезно для кэширования данных, которые должны автоматически удаляться, когда больше нет других ссылок на объект.07 Jan, 08:40
07 Jan, 06:44
inspect.getclosurevars()
из модуля inspect
позволяет извлечь значения замыканий из функции. Это полезно для анализа внутреннего состояния функций с замыканиями.06 Jan, 16:59
asyncio.gather()
из модуля asyncio
позволяет запускать несколько асинхронных задач одновременно и ожидать их завершения. Это удобный инструмент для работы с конкурентным выполнением задач.04 Jan, 18:20
sys.getrefcount()
позволяет получить количество ссылок на объект. Это полезно для анализа работы сборщика мусора и управления памятью в Python.04 Jan, 15:05
03 Jan, 08:06
filter()
или list comprehension
, чтобы сделать код более читаемым и производительным.02 Jan, 18:08
zip
, enumerate
или библиотеку numpy
, чтобы сократить количество циклов.31 Dec, 14:48
30 Dec, 12:28
abc.ABCMeta
из модуля abc
используется для создания абстрактных базовых классов (Abstract Base Classes). Это позволяет определить методы, которые должны быть реализованы в подклассах, и предотвращает создание экземпляров базового класса.27 Dec, 17:57
tempfile.NamedTemporaryFile()
из модуля tempfile
создаёт временный файл, который автоматически удаляется при закрытии. Это удобно для временного хранения данных.27 Dec, 09:04
•
Если n == 0
, функция возвращает 1 (базовый случай).•
В остальных случаях функция вызывает саму себя с аргументом n - 1
.•
Результаты этих вызовов умножаются на текущее значение n
.def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
25 Dec, 18:56
25 Dec, 14:36
24 Dec, 17:07
memoryview()
— это встроенный метод Python, который позволяет работать с буфером данных без их копирования. Это полезно для работы с большими массивами данных, таких как байты или массивы, где важна производительность.23 Dec, 07:31
weakref.ref()
из модуля weakref
создаёт слабую ссылку на объект. Слабая ссылка не увеличивает счётчик ссылок объекта, позволяя ему быть удалённым сборщиком мусора, если больше нет сильных ссылок на него.22 Dec, 20:18
+
в цикле создаёт множество временных объектов, что замедляет выполнение программы. Вместо этого используйте join()
.+
создаётся новый объект строки на каждом шаге.str.join()
, который работает быстрее, так как заранее выделяет память для итоговой строки.21 Dec, 19:25
ast.literal_eval()
из модуля ast
безопасно вычисляет выражения Python из строки. Это полезно для обработки данных из текстовых файлов или ввода, где требуется парсинг структур данных, таких как списки, словари или числа.21 Dec, 15:41
21 Dec, 14:16
sys.getsizeof()
позволяет узнать размер объекта в памяти, включая дополнительные данные, связанные с этим объектом. Это полезно для анализа потребления памяти в приложении.20 Dec, 19:56
inspect.getsource()
из модуля inspect
позволяет получить исходный код функции, класса или метода. Это полезно для анализа кода во время выполнения или создания инструментов для отладки и документации.20 Dec, 15:40
19 Dec, 08:16
•
Справа от знака =
создаётся кортеж значений.•
Эти значения распаковываются и присваиваются переменным слева.18 Dec, 18:07
zip()
в Python используется для объединения нескольких итерируемых объектов (например, списков) в один итератор кортежей. Каждый кортеж содержит элементы, которые находятся на одинаковых позициях в исходных итерируемых объектах.17 Dec, 17:03
sys.intern()
оптимизирует хранение строк, создавая их в единственном экземпляре в памяти (интернирование). Это ускоряет сравнение строк за счёт сравнения ссылок, а не их содержимого.09 Dec, 07:30
re.findall()
из модуля re
находит все совпадения с заданным регулярным выражением в строке и возвращает их в виде списка. Это удобно для извлечения данных из текста.08 Dec, 19:13
collections.deque
предоставляет двустороннюю очередь с эффективным добавлением и удалением элементов с обоих концов. Это полезно для реализации очередей, стеков и буферов.06 Dec, 15:01
06 Dec, 08:18
eval()
выполняет строку как Python-код. Это мощный инструмент для динамического выполнения выражений, но его следует использовать с осторожностью.05 Dec, 17:15
isinstance()
проверяет, является ли объект экземпляром указанного класса или его подкласса. Это удобно для проверки типов во время выполнения.05 Dec, 15:05
05 Dec, 08:41
setattr()
позволяет динамически устанавливать значение атрибута объекта. Это полезно, если имя атрибута известно только во время выполнения программы.03 Dec, 18:11
03 Dec, 15:48
03 Dec, 08:28
03 Dec, 06:59
vars()
возвращает словарь атрибутов объекта или локальные переменные, если объект не указан. Это удобно для работы с объектами или отладки.02 Dec, 15:00
02 Dec, 06:43
min()
и max()
используются для нахождения минимального и максимального значений в итерируемых объектах. Эти функции поддерживают кастомные критерии сравнения.01 Dec, 11:26
heapq
предоставляет функции для работы с кучами (heap) — структурами данных для управления приоритетами. heappush()
добавляет элемент в кучу, а heappop()
удаляет наименьший элемент.29 Nov, 16:43
functools.lru_cache
кэширует результаты вызовов функции, что позволяет ускорить выполнение повторяющихся вычислений. Это удобно для оптимизации функций с дорогостоящими вычислениями.13 Nov, 15:17
13 Nov, 08:38
itertools.cycle()
создаёт бесконечный цикл по переданному итерируемому объекту. Это полезно для повторения элементов последовательности.12 Nov, 16:21
zip_longest()
из модуля itertools
позволяет объединять итерируемые объекты разной длины, заполняя отсутствующие значения с помощью заполнителя (fillvalue
). Это полезно для работы с несоответствующими наборами данных.12 Nov, 13:54
11 Nov, 16:34
•
Поддержка инверсии управления (IoC) для гибкого управления зависимостями.•
Интеграция с популярными инструментами, такими как ORM Orator.•
Удобная система маршрутизации и шаблонов.11 Nov, 14:39
11 Nov, 11:58
textwrap.dedent()
удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.08 Nov, 17:53
Path.glob()
из модуля pathlib
используется для поиска файлов и директорий, соответствующих шаблону. Он мощнее, чем простое перечисление файлов, и поддерживает поиск с использованием подстановочных знаков.08 Nov, 15:03
08 Nov, 13:57
•
Глубокий анализ: Memray отслеживает все выделения памяти, включая те, что происходят в нативных расширениях на C/C++.•
Гибкие отчёты: Генерирует отчёты в виде текстовых файлов, графов и HTML-страниц для наглядного представления данных.•
Поддержка многопоточности: Корректно работает с многопоточными приложениями, обеспечивая точный анализ.•
Интеграция с Jupyter: Позволяет визуализировать данные профилирования прямо в Jupyter Notebook.08 Nov, 11:51
08 Nov, 08:19
07 Nov, 18:41
contextlib.redirect_stdout
в Python временно перенаправляет вывод print()
и других операций записи. Полезно, когда нужно записать вывод в файл или перехватить его для дальнейшей обработки.07 Nov, 15:09
07 Nov, 13:03
__del__
служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.07 Nov, 10:30
06 Nov, 18:23
itertools.product()
генерирует декартово произведение нескольких итерируемых объектов, что удобно для перебора всех комбинаций элементов.06 Nov, 14:59
06 Nov, 08:29
05 Nov, 07:10
zip()
, а затем создать словарь из этих кортежей при помощи функции dict()
.fruit_prices
будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}
.05 Nov, 07:03
04 Nov, 09:34
01 Nov, 12:17
filter()
используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.31 Oct, 07:18
30 Oct, 07:48
•
Поддержка единого формата для всех LLM, что упрощает интеграцию.•
Возможность управления расходами и ограничения скорости запросов для предотвращения перегрузок.29 Oct, 08:33
all()
проверяет, соответствуют ли все элементы условию (истинны). Отличный способ убедиться, что все значения удовлетворяют требованиям.28 Oct, 17:15
28 Oct, 15:09
27 Oct, 20:04
27 Oct, 18:18
26 Oct, 17:22
any()
проверяет, есть ли хотя бы один истинный элемент в итерируемом объекте. Она отлично подходит для быстрых проверок наличия условий, например, поиска элементов в списке.25 Oct, 09:07
•
Arrow поддерживает естественные синтаксические конструкции и форматирование дат, а также имеет встроенные функции для манипуляции временем.23 Oct, 14:24
list.sort()
и sorted()
в Pythonlist.sort()
сортирует список на месте, изменяя его, и возвращает None, тогда как sorted()
создает новый отсортированный список, оставляя оригинал неизменным.key
и reverse
, позволяя кастомизировать сортировку.list.sort()
используется для изменения оригинального списка. • sorted() возвращает новый отсортированный список из любого итерируемого объекта.23 Oct, 12:27
23 Oct, 11:09
enumerate()
. Эта встроенная функция возвращает и индекс, и сам элемент в одном цикле, что удобно и лаконично.23 Oct, 09:11
22 Oct, 17:12
•
PyTTI подходит для экспериментов с искусственным интеллектом в области генерации изображений и видео.22 Oct, 14:56
22 Oct, 08:31
•
UMAP часто используется в задачах кластеризации и визуализации высокоразмерных данных, например, в Data Science.21 Oct, 12:30
os.rename()
используется для переименования файла или директории в операционной системе. Она входит в модуль os
.21 Oct, 10:15
20 Oct, 18:38
capitalize
, чтобы сделать первую букву заглавной, а также преобразовывать строки в форматы camelCase
, snake_case
, и kebab-case
для различных стилей.18 Oct, 17:45
__iter__()
и __next__()
.
Генераторы позволяют экономить память, так как значения вычисляются по мере необходимости.18 Oct, 14:59
18 Oct, 08:01
•
Она упрощает процесс разработки, устраняя необходимость в написании JavaScript, HTML или CSS. Все веб-элементы и взаимодействия описываются непосредственно на Python.17 Oct, 06:57
itertools
, а именно метод compress
.True
или 1
, то элемент остаётся в последовательности, иначе — удаляется из нее.15 Oct, 17:10
•
fastjsonschema — отличный выбор для тех, кому важна производительность при работе с JSON-схемами.15 Oct, 14:59
14 Oct, 17:20
•
EdgeDB — отличный выбор для тех, кто хочет работать с базами данных, избегая сложности традиционного SQL и улучшая удобство работы с данными.14 Oct, 15:00
12 Oct, 17:30
sample()
модуля random
в Python возвращает случайную выборку элементов из последовательности. В первом параметре функции указываем последовательность, во втором параметре — количество элементов, которые мы хотим выбрать случайным образом.10 Oct, 18:21
10 Oct, 14:58
10 Oct, 06:48
__new__()
в Python?09 Oct, 17:03
•
aiometer — отличный выбор для случаев, когда нужно контролировать количество параллельных операций, например, при выполнении большого числа запросов к API.09 Oct, 15:00
26 Sep, 15:48
26 Sep, 06:55
25 Sep, 08:52
•
Pygments — отличный выбор для создания приложений, требующих визуально выделенного кода с подсветкой синтаксиса.24 Sep, 15:02
24 Sep, 08:27
•
Tenacity — отличный инструмент для работы с нестабильными операциями, такими как запросы к API или подключения к базе данных.23 Sep, 18:43
•
AnyIO — отличный выбор для создания асинхронных приложений, когда нужна гибкость и переносимость между различными асинхронными фреймворками.23 Sep, 16:04
23 Sep, 11:41
•
Piccolo ORM — отличный выбор для разработчиков, которым нужно быстро и удобно работать с базами данных, используя асинхронные операции.23 Sep, 09:08
20 Sep, 13:05
•
Pony ORM — отличный выбор для разработчиков, которым важно писать лаконичный код при работе с базами данных, без явного написания SQL-запросов.19 Sep, 08:24
•
Polars — отличный выбор для проектов, которым требуется быстрая обработка больших объёмов данных, с минимальными затратами на память.17 Sep, 17:02
17 Sep, 06:39
16 Sep, 14:56
14 Sep, 13:15
contextlib.nullcontext
для временного отключения контекстного менеджераnullcontext
используется для обхода реального контекстного менеджера, если он не нужен в текущих условиях.nullcontext
помогает упростить код, где контекстный менеджер используется только в определённых случаях, сохраняя при этом структуру программы.13 Sep, 12:56
12 Sep, 12:30
11 Sep, 12:32
10 Sep, 07:24
dataclasses.field
для установки значений по умолчанию на основе фабричных функцийdataclasses.field
— это способ назначения значений по умолчанию для полей датаклассов, используя фабричные функции. Это особенно полезно, когда вы хотите, чтобы каждое поле имело своё уникальное значение, как, например, новый объект списка или словаря.09 Sep, 06:26
07 Sep, 18:23
06 Sep, 09:20