Вычисление размера объектов
Так как в python всё является объектами, мы можем вычислить размер практически у всего с помощью
Функция
Так как в python всё является объектами, мы можем вычислить размер практически у всего с помощью
sys.getsizeof().Функция
getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные данные сборщика мусора. Хотя все встроенные объекты вернут верный размер, в общем случае это не будет так для пользовательских объектов.Функция reduce
Модуль functools раскрывает функциональные возможности Python. Например, в нём есть интересная функция reduce, последовательно применяющая функцию-аргумент к элементам списка, возвращая при этом в итоге единичное значение.
В примере мы используем функцию для последовательного сложения элементов списка.
Модуль functools раскрывает функциональные возможности Python. Например, в нём есть интересная функция reduce, последовательно применяющая функцию-аргумент к элементам списка, возвращая при этом в итоге единичное значение.
В примере мы используем функцию для последовательного сложения элементов списка.
Операторы множеств
Множество — это неупорядоченная коллекция, где все элементы уникальны. То есть одно и то же значение не может повторяться дважды.
Помимо обычных методов, у множеств реализована поддержка различных операторов: объединение, пересечение, симметрическая разность, обычная разность и некоторые другие.
Примеры этих операторов можете посмотреть выше на картинке.
Множество — это неупорядоченная коллекция, где все элементы уникальны. То есть одно и то же значение не может повторяться дважды.
Помимо обычных методов, у множеств реализована поддержка различных операторов: объединение, пересечение, симметрическая разность, обычная разность и некоторые другие.
Примеры этих операторов можете посмотреть выше на картинке.
Генерация случайных данных
Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.
Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.
Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.
Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.
Деструкторы
В дополнение к конструкторам в Python также существуют и деструкторы. В каждом конкретном классе деструктор можно переопределить с помощью метода
Переопределение деструкторов на практике встречается редко, но на случай каверзных вопросов на собеседованиях стоит знать об этой особенности.
В дополнение к конструкторам в Python также существуют и деструкторы. В каждом конкретном классе деструктор можно переопределить с помощью метода
__del__, который вызывается автоматически при удалении объекта.Переопределение деструкторов на практике встречается редко, но на случай каверзных вопросов на собеседованиях стоит знать об этой особенности.
Создание капчи
Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.
В Python капчу реализовать можно довольно просто — с использованием пары модулей сначала создаётся картинка, затем сохраняется в определённый файл. Результат выполнения программы вы можете увидеть на картинке снизу.
Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.
В Python капчу реализовать можно довольно просто — с использованием пары модулей сначала создаётся картинка, затем сохраняется в определённый файл. Результат выполнения программы вы можете увидеть на картинке снизу.
Преобразование текста в речь
Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи
Модуль позволяет менять настройки произношения. Полная документация доступна по ссылке: https://pypi.org/project/pyttsx3/
Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи
pip install pyttsx3. Запущенная программа спросит, как у вас дела, и скажет, что любит макароны.Модуль позволяет менять настройки произношения. Полная документация доступна по ссылке: https://pypi.org/project/pyttsx3/
Просмотр видео
moviepy неплохо совмещается с другими библиотеками. В примере кода показано, как запустить видеоролик с его помощью. Для этого также понадобится библиотека pygame.
moviepy неплохо совмещается с другими библиотеками. В примере кода показано, как запустить видеоролик с его помощью. Для этого также понадобится библиотека pygame.
Делаем GIF из видео
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Пример использования pywin32
Получаем доступ к системной информации, а именно к разрешению монитора. Для этого используем функцию GetSystemMetrics(). Документация: https://pypi.org/project/pywin32/
Получаем доступ к системной информации, а именно к разрешению монитора. Для этого используем функцию GetSystemMetrics(). Документация: https://pypi.org/project/pywin32/
Первые шаги в Matplotlib
Matplotlib служит для построения графиков и визуализации данных, часто применяется в Data Science. В примере рисуем простейший график для знакомства с библиотекой, а также задаём собственные названия для осей координат с помощью методов
Matplotlib служит для построения графиков и визуализации данных, часто применяется в Data Science. В примере рисуем простейший график для знакомства с библиотекой, а также задаём собственные названия для осей координат с помощью методов
plt.ylabel() и plt.xlabel().Флаги явного преобразования
Используются для определённого преобразования значения поля
Используются для определённого преобразования значения поля
format перед его форматированием. Их можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. !r — преобразует значение в строку, используя функцию repr()
!s — преобразует значение в строку, используя функцию str()
В примере в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 10 символов, в случае с флагом !s — без кавычек в более удобном для чтения виде.Выключение компьютера
Python позволяет всего одной строкой кода выключить компьютер. :) Используется при этом модуль os, в котором есть большое количество полезных функций для работы с операционной системой.
Python позволяет всего одной строкой кода выключить компьютер. :) Используется при этом модуль os, в котором есть большое количество полезных функций для работы с операционной системой.
Нижнее подчеркивание
Есть несколько сценариев, когда имеет смысл использовать
Ещё один сценарий для использования нижнего подчеркивания — при использовании модуля gettext вместо функции gettext() для сокращения кода (так советуют разработчики модуля).
Есть несколько сценариев, когда имеет смысл использовать
_ в качестве названия для переменной. Во-первых, для значений, которые не нужны, но как-то проинициализировать их надо — например, в цикле for, когда не нужно использовать индекс.Ещё один сценарий для использования нижнего подчеркивания — при использовании модуля gettext вместо функции gettext() для сокращения кода (так советуют разработчики модуля).
Работа с IP адресами
Если вам приходится писать на Python программы для работы с сетью — значит, вам может пригодиться модуль
К примеру, один вариант его использования — генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация). У модуля
Если вам приходится писать на Python программы для работы с сетью — значит, вам может пригодиться модуль
ipaddress.К примеру, один вариант его использования — генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация). У модуля
ipaddress есть и много других интересных возможностей, прочитать о которых можно здесь.Функция map
В Python неплохая поддержка функционального программирования. Одной из возможностей является функция
На картинке
В Python неплохая поддержка функционального программирования. Одной из возможностей является функция
map(), особенно полезной в сочетании с лямбда-функциями.На картинке
map() применяет простую лямбда-функцию на каждом элементе x и возвращает map-объект, который можно преобразовать в итерируемый объект, например кортеж или список.