Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Простой сервер

Если нужно быстро и легко расшарить файлы из директории, то вот простой способ на картинке. Эта команда запустит сервер.
👍7
pytube - это библиотека, которая умеет скачивать любые видео с пока ещё не забаненного YouTube по предоставленной ссылке, а также получать все связанные с этим видео данные 🎥

Помимо скачивания видео-файла в любом из удобных форматов, вы ещё сможете получить такие данные, как: длина видео, автор, количество просмотров, ссылка на превью и т.д.

Более того, pytube позволяет вешать некоторые колбэки и по-разному настраивать потоки скачивания 👌🏼

В общем, небольшой пример работы с этой библиотекой показан на скриншоте выше 🔝

Исходник - https://pastebin.com/eAWu8h6G
👍18🔥6❤1
Классификационные функции

Есть несколько разных функций, чтобы проверить, является ли комплексное число конечным, бесконечным или нан. Также есть функция проверки близости двух комплексных чисел.
🔥1
Учим приложения общаться

Как-то приложения должны передавать данные друг-другу. И делается это через API, которое можно быстро написать с использованием фреймворка hug.

Установка: pip3 install hug

С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым фреймворком для создания оболочки взаимодействия пользователя с приложением.

Всё максимально просто, копируем пример с официального сайта и запускаем с помощью hug -f file.py. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.
🔥3👍1
Делаем скриншоты

Кросс-платформенный модуль pyscreenshot позволяет делать скриншоты как всего экрана, так и его части. Для его работы должна быть корректно установлена библиотека pillow.

Для создания скриншота используется метод grab, для его открытия – show, для сохранения – save. Также в grab можно передать аргумент bbox для захвата только определённой части экрана.

Подобный модуль может быть полезен, например, для логирования скриптов, использующих Selenium, который может открывать браузер и производить какие-либо операции в нём.
🔥4👍3❤1
Delorean

Удобная библиотека для работы с датами и временем. Cтоит отметить отличную документацию и огромное количество отсылок к «Назад в будущее».

В примере выводим дату и время на текущий момент на другом континенте. Документация: https://delorean.readthedocs.io/en/latest/
👍11🤔2
Генерация случайного числа

Небольшой пост для новичков. Во встроенном модуле random (установка не требуется) есть функция randint, которая выдаёт случайные числа. Основывается на отрезке, где нижняя граница — первое переданное число, верхняя — второе. Обе границы включены в отрезок.
👏7👍3
📌 Ведём логи

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

Настройки (название файла, уровень записи) задаются с помощью basicConfig(), после вы можете записывать туда данные с помощью debug(), info(), warning(), error().

Обычно этой информации хватает, чтобы пользоваться logging, но если вы считаете по другому, то можете перейти к уроку или к API Reference.
👍4
👾 Библиотеки для создания игр
👍13🔥1
Работа с атрибутами объектов

Рассмотрим специальные функции для работы с атрибутами. getattr позволяет получить атрибут, setattr — установить его, delattr — удалить. hasattr проверяет, существует ли атрибут с указанным названием у объекта или нет.

Каждой функции первыми двумя аргументами передаются сам объект и название атрибута. В setattr также нужно передать новое значение для атрибута.

На практике эти четыре функции используются не слишком часто, но знать о них полезно.
❤5👍3
Операции со списками в Python

К спискам можно применить встроенные функции Python, такие как len(), min() и max(), чтобы получить длину списка, наименьший и наибольший элементы соответственно.

Поскольку наш shopping_list содержит только строки, min() возвращает строку, которая шла бы первой, если бы список был упорядочен в алфавитном порядке. max() возвращает строку, которая шла бы последней.
👍5
Функция divmod() в Python

Функция divmod() в Python используется для деления двух входных чисел. Числа не должны быть сложными и могут быть записаны в любом формате, таком как десятичный, двоичный, шестнадцатеричный и т.д.
👍5
Метод items()

Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.

Синтаксис:dictionary.items()

Данный метод не принимает никаких аргументов.

Приведем пример использования данной функции.

Объявлен словарь с именем products. Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist, а затем выведем на экран.
👍5🤔1
art

Всё, что вам может понадобится для вывода красивых надписей или артов в терминал. Ставится с помощью команды pip install art. Полный список возможностей есть в документации.
👍11
Преобразование PNG в PDF

Для начала установим библиотеку img2pdf - pip install img2pdf.

img2pdf— это пакет Python с открытым исходным кодом для преобразования изображений в формат pdf.

Подробнее ознакомиться с библиотекой img2pdf можно здесь.
🔥6👍4
Работа с PDF

С помощью пакета pdftotext мы можем работать с PDF-файлами в Python: получать кол-во страниц, итерироваться по ним, выводить конкретные страницы и тексты. Вся эта функциональность описана на картинке.

Исходный код пакета написан на C++, поэтому могут возникнуть проблемы при установке. Документация: https://pypi.org/project/pdftotext/
👍7
Emoji

Пакет Emoji пакет очень помогает при анализе данных из соцсетей, позволяя встраивать в текст и выделять из него эмодзи. Почитать документацию и ознакомиться с другими примерами можно на странице пакета emoji.
👍7
Принципы Python

В языке есть множество скрытых пасхалок. Одну из них можно наблюдать при импорте this. При выполнении этой строки в консоль выводятся принципы Python — «Простое лучше сложного», «Удобочитаемость имеет значение», «Явное лучше неявного» и другие.
❤6
Всплывающее окно

pyautogui.alert позволяет вызвать всплывающее окно. В примере показано самое простое использование метода.

Программа ставится на паузу, пока не нажать ОК в всплывающем окне (или закрыть его). Более подробно о возможностях кастомизации можно почитать в документации пакета: https://pyautogui.readthedocs.io/en/latest/
👍5🔥3
Целые числа (int)

Давайте определим переменную x, имеющую значение 10. Встроенный метод id() используется для определения местоположения x в памяти, а type() используется для определения типа переменной. Когда мы пытаемся изменить значение x, оно успешно изменяется.

Стоит заметить, что адрес памяти тоже изменяется. Так происходит потому, что фактически мы не изменили значение x, а создали другой объект с тем же именем x и присвоили ему другое значение. Мы связали имя x с новым значением. Теперь, когда вы вызываете x, он будет выводить новое значение и ссылаться на новое местоположение.
👍7🔥2