Атрибуты функций
Сейчас будет шок для новичков, но функции — это обычные объекты, у которых просто реализован метод
И соотвественно у функций, как и у любых других объектов, можно устанавливать атрибуты и даже другие методы. Но сейчас затронем только атрибуты.
Как вариант, в примере я реализовал счетчик вызова функции, но без использования глобальных переменных — всё с помощью атрибута в объекте функции.
Вообще практического применения в продакшне я не припомню, но сам этот факт знать полезно для общего понимания структуры языка и устройства объектов.
#функции #объекты
Сейчас будет шок для новичков, но функции — это обычные объекты, у которых просто реализован метод
__call__
. Именно он и позволяет выполнять синтаксис с вызовом через круглые скобки.И соотвественно у функций, как и у любых других объектов, можно устанавливать атрибуты и даже другие методы. Но сейчас затронем только атрибуты.
Как вариант, в примере я реализовал счетчик вызова функции, но без использования глобальных переменных — всё с помощью атрибута в объекте функции.
Вообще практического применения в продакшне я не припомню, но сам этот факт знать полезно для общего понимания структуры языка и устройства объектов.
#функции #объекты
Разделители для целых чисел
Трудно визуально различить целые числа подобные
Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности.
Например,
#числа
Трудно визуально различить целые числа подобные
10000000
и 100000000
. Использовать запятые, как в английском языке, не получится.Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности.
Например,
1_000_000
будет интерпретироваться как целое число 1000000
.#числа
Библиотека pydantic
Программисту всегда приходится задумываться над типами данных, которые он принимает. Но это рутина, занимающая кучу времени. К счастью, проверять тип на валидность можно намного удобнее с библиотекой pydantic.
С ее помощью можно не писать однотипный код и оставить все нюансы на библиотеку. И еще небольшой плюс: ее удобно отлаживать и получать значения.
Программисту всегда приходится задумываться над типами данных, которые он принимает. Но это рутина, занимающая кучу времени. К счастью, проверять тип на валидность можно намного удобнее с библиотекой pydantic.
С ее помощью можно не писать однотипный код и оставить все нюансы на библиотеку. И еще небольшой плюс: ее удобно отлаживать и получать значения.
Каким будет результат выполнения кода?
Anonymous Poll
59%
True, False
3%
True, True
9%
False, True
9%
False, False
9%
Error
9%
Узнать ответ
Каким будет результат выполнения кода?
Anonymous Poll
11%
Ally
57%
Sam
11%
None
4%
Student
14%
Error
4%
Узнать ответ
Скачиваем видео с YouTube
Пакет
Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует ютьюб. Решение данной проблемы покажем в следующем посте.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
#youtube
Пакет
pytube
предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует ютьюб. Решение данной проблемы покажем в следующем посте.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
download()
, в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла.#youtube