avatar
Python Academy
@python_academy
23.05.2026 06:22
Считаем ссылки на объект

В Python практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.

Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.

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

В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.

#python #ctypes
👎 1
5 727
avatar
Python Academy
@python_academy
22.05.2026 19:46
Обрабатываем номера телефонов

Пакет phonenumbers основан на библиотеке libphonenumber от Google, которая позволяет форматировать, парсить и проверять номера телефонов.

Основным классом, который представляет номер, является PhoneNumber. Объект можно создать, вызвав метод parse() и передав в аргументы номер телефона в виде строки. Вторым аргументом также можно указать страну.

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

#python #phonenumbers
1
👎 1
14 1.2K
avatar
Python Academy
@python_academy
22.05.2026 11:31
Метод isspace()

Метод isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).

Примечание: isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.

#python
👍 1
👎 1
1 4 1.4K
avatar
Python Academy
@python_academy
21.05.2026 06:23
Слайсы

Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.

Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.

#python #slice
👍 2
👎 1
3 11 1.8K
avatar
Python Academy
@python_academy
20.05.2026 06:22
Трюк с f-строками

Думаю, про f-строки как метод форматирования все уже знают. Напоминаю, что появились они еще в Python 3.6.

Но им добавили еще одну классную фичу в обновлении 3.8 — можно выводить имя переменной и сразу ее значение, добавив знак равно как показано на картинке.

#строки
🔥 7
👍 4
1
👎 1
6 14 2K
avatar
Python Academy
@python_academy
19.05.2026 06:44
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#python #pytest #assert
2
👎 1
9 2.1K
avatar
Python Academy
@python_academy
18.05.2026 05:01
Скачиваем вебсайты целиком

Максимально простой, но при этом мощный пакет pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты.

Функция save_webpage скачивает страницу по указанной ссылке, в аргументы также можно передать путь, куда сохранить результат.

А вот save_website дает возможность скачать целый вебсайт рекурсивно. Например, если сайт представляет из себя блог, то скрипт скачет все статьи, которые есть на сайте.

Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.

#pywebcopy
👍 2
1
👎 1
29 2.1K
avatar
Python Academy
@python_academy
17.05.2026 06:55
Нижнее подчеркивание

В Python имя переменной может состоять из одного подчеркивания. Хотя такое имя не достаточно описательно и не должно использоваться, есть по крайней мере три случая, когда _ имеет общепринятый смысл.

Первое, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны — например, в циклах for.

Второе, интерактивный режим использует _ для хранения результата последнего выполненного выражения.

Третье, документация модуля gettext рекомендует псевдоним _() для функции gettext(), чтобы минимизировать загромождение вашего кода.

#тонкости
👍 2
👎 1
1 5 2.1K
avatar
Python Academy
@python_academy
16.05.2026 06:44
dateparser

dateparser — это библиотека Python, предоставляющая удобные инструменты для разбора и анализа текстовых дат и времени. Она автоматически определяет формат даты и времени в текстовой строке и преобразует его в объект datetime. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать.

Обратите внимание, что dateparser может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать нужную локаль с помощью аргумента locales, если это необходимо.

#python #dateparser
👍 3
1
👎 1
2 10 2.1K
avatar
Python Academy
@python_academy
15.05.2026 06:22
Работа с аргументами и параметрами командной строки

В Python для обработки передаваемых аргументов и создания удобного интерфейса командной строки существует отличный модуль argparse.

Для начала нужно создать объект парсера ArgumentParser, в который можно добавить аргументы с необходимыми параметрами с помощью метода add_argument.

Первым параметром метод add_argument принимает либо имя обязательного позиционного аргумента, либо список опциональных аргументов (опциональные аргументы идентифицируются через -). Также у add_argument есть множество необязательных опциональных параметров для работы с передаваемыми значениями аргумента.

После добавления всех аргументов их нужно спарсить с помощью метода parse_args. На выходе получится объект, содержащий все переданные аргументы.

#python #argparse
👎 1
5 2.2K
avatar
Python Academy
@python_academy
14.05.2026 05:51
FFmpeg: Лучшее решение для обработки мультимедийных файлов

FFmpeg - это бесплатная и открытая библиотека и набор инструментов для обработки мультимедийных файлов. Она предоставляет мощные возможности для работы с видео, аудио и другими мультимедийными данными. FFmpeg является одним из самых популярных и универсальных инструментов для обработки мультимедиа в мире.

Для начала использования FFmpeg, вы можете установить библиотеку командой pip install ffmpeg-python. После этого, вы можете создавать собственные скрипты для обработки видео и аудио файлов, определяя нужные операции и параметры. ffmpeg-python обладает мощными возможностями для конвертации, обрезки, склеивания и многого другого.

Исходный код и документация доступны тут
👎 2
3 16 2.3K
avatar
Python Academy
@python_academy
13.05.2026 06:45
Распознаем речь используя SpeechRecognition

SpeechRecognition — это библиотека на Python, которая предоставляет возможность использовать API для распознавания речи от различных компаний, таких как Google, Microsoft, IBM и другие. Кроме того, она поддерживает работу в офлайн-режиме.

Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей, SpeechRecognition подходит для создания приложений с голосовым управлением, интеллектуальных ассистентов и многого другого.

#python #speechrecognition
4
👎 1
🔥 1
20 2.4K
avatar
Python Academy
@python_academy
12.05.2026 05:33
Операции с zip архивами 

Для работы с zip файлами можно использовать встроенный модуль zipfile. Если кто не помнит, то zip файл — это архив, содержащий сжатые файлы. 

Просмотреть содержимое архива можно с помощью функции printdir, а извлечь все файлы можно вызвав extractfile

Также этот модуль позволяет создавать свои zip архивы, но мы решили не усложнять пример, поэтому просто прикладываем ссылку на документацию. 

#zipfile
2
👍 1
👎 1
12 2.6K
avatar
Python Academy
@python_academy
11.05.2026 06:22
NetworkX

NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.

Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.

#python
4
👎 1
4 16 2.6K
avatar
Python Academy
@python_academy
10.05.2026 05:21
Работа с методом str.replace() в Python

Python предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace(), который используется для замены частей строки.

Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.

Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.

#python #replace
👍 4
1
👎 1
1 7 2.7K
avatar
Python Academy
@python_academy
09.05.2026 06:55
Daphne

Daphne — это сервер HTTP, HTTP2 и WebSocket для ASGI и ASGI-HTTP, разработанный для поддержки Django Channels. Он поддерживает автоматическое согласование протоколов; нет необходимости в префиксации URL-адресов для определения конечных точек WebSocket по сравнению с конечными точками HTTP.

#python
4
👎 2
7 2.6K
avatar
Python Academy
@python_academy
08.05.2026 05:44
Частичное применение

Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.

Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.

Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.

#functools
👍 3
👎 1
11 2.8K
avatar
Python Academy
@python_academy
07.05.2026 06:06
Быстрый deque

deque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.

deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).

Для deque есть возможность использовать стандартные функции — sum, min, max и другие.
👍 5
👎 1
14 2.8K
avatar
Python Academy
@python_academy
06.05.2026 05:18
Как работают статические методы

Статические методы создаются в классе при помощи декоратора @staticmethod. Такие методы привязаны к классу, а не объекту — в этом и есть основное отличие.

Такой тип методов не может модифицировать ни объект, ни сам класс. То есть передавать объект или класс и прописывать self или cls в аргументах не нужно.

Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть.

#ооп
2
👎 2
1 5 2.8K
avatar
Python Academy
@python_academy
05.05.2026 13:47
Удаление страниц PDF-файла

Библиотека PyMuPDF включает в себя довольно много сложных методов, которые упрощают удаление страниц из файла PDF. Он позволяет указать либо одну страницу (используя метод deletePage()), либо диапазон номеров страниц (используя метод deletePageRange()), либо список с номерами страниц (используя метод select()).

В следующем примере показано, как использовать список для выбора страниц, которые нужно сохранить в исходном документе. Имейте в виду, что страницы, которые не указаны, не будут частью выходного документа. В нашем случае выходной документ содержит только первую, вторую и четвертую страницы.

#python
👎 1
2 13 2.6K

Python Academy

44.5K
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
Открыть в Telegram