Python | Программирование
9.66K subscribers
2.01K photos
2 videos
138 files
1.71K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
📌 Модуль html.parser в Python

• Модуль html.parser определяет класс HTMLParser, который служит основой для парсинга файлов, отформатированных в HTML (HyperText Mark-up Language) и XHTML.

Базовый пример синтаксического анализа HTML (код на картинке).

📕 Документация

#урок
7🔥1
📌 Модуль urllib.parse в Python, операции с URL-адресом

• Модуль urllib.parse определяет стандартный интерфейс для разбора URL-адреса на компоненты: протокол, порт, домен, путь и т. д., чтобы можно было объединять компоненты обратно в строку URL-адреса и преобразовать относительный URL-адрес в абсолютный URL-адрес с учетом базового URL-адреса.

• Модуль был разработан в соответствии с "Internet RFC on Relative Uniform Resource Locators". Он поддерживает следующие схемы URL: file, ftp, http, https, imap, mailto, mms, news, nntp, rsync, sftp, shttp, sip, sips, svn, svn+ssh, telnet и т. д.

Пример разбора URL-адреса на компоненты (код на картинке).

📕 Документация

#урок
🔥6
📌 Модуль selectors в Python, готовность файлов к вводу/выводу

• Модуль selectors обеспечивает высокоуровневое и эффективное мультиплексирование ввода-вывода, основанное на примитивах модуля select. Если пользователям не нужно точный контроль над примитивами операционной системы, то рекомендуется использовать этот модуль вместо модуля select.

• Модуль selectors определяет несколько конкретных реализаций: selectors.EpollSelector(), selectors.SelectSelector() и т. д., которые можно использовать для ожидания уведомления о готовности ввода-вывода для нескольких файловых объектов. Далее "файловый объект" относится к любому объекту с методом file.fileno() или необработанным файловым дескриптором..

• Класс selectors.DefaultSelector - это псевдоним наиболее эффективной реализации, доступной на текущей платформе: этот класс должен быть выбором по умолчанию для большинства пользователей.

Иерархия классов модуля (код на картинке).

📕 Документация

#урок
6👍1
📌 Модуль dataclasses в Python, создание типов данных

• Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init() и repr(), в определяемые пользователем классы.

• Атрибуты класса - переменные для использования в этих сгенерированных методах определяются с использованием аннотаций типов.

Пример (код на картинке).

📕 Документация

#урок
6👍1
📌 Модуль http.cookiejar в Python.

• Модуль http.cookiejar определяет классы для автоматической обработки файлов cookie. Модуль будет полезен для доступа к веб-сайтам, для которых требуются установка файлов cookie на клиентском компьютере посредством HTTP-ответа от веб-сервера, а затем возвращены на сервер в последующих HTTP-запросах.

• Обрабатываются как обычный протокол cookie Netscape, так и протокол, определенный в RFC 2965. Обработка RFC 2965 по умолчанию отключена. Файлы cookie RFC 2109 анализируются как файлы cookie Netscape и впоследствии обрабатываются как файлы cookie Netscape или RFC 2965 в соответствии с действующей политикой.

В примере показано наиболее частое использование http.cookiejar (код на картинке).

📕 Документация

#урок
6🔥2
📌 Модуль http.client в Python

• Модуль http.client определяет классы, реализующие клиентскую сторону протоколов HTTP и HTTPS.

• Обычно этот модуль не используется напрямую - его использует модуль urllib.request для обработки URL-адресов, использующих HTTP и HTTPS.

Пример GET-запроса при помощи модуля http.client (код на картинке).

📕 Документация

#урок
6🔥3
📌 Модуль urllib.request в Python

• Модуль urllib.request определяет функции и классы, которые помогают открывать URL-адреса (в основном HTTP), имеет базовую и дайджест-аутентификацию, перенаправления, файлы cookie и многое другое.

• Модуль urllib.request предлагает очень простой интерфейс в виде функции urllib.request.urlopen(), что позволяет получать URL-адреса с использованием множества различных протоколов. Также этот модуль предлагает немного более сложный интерфейс для обработки обычных ситуаций, таких как базовая аутентификация, файлы cookie, прокси и т. д. Они предоставляются объектами, называемыми обработчиками и "открывателями".

Самый простой способ использовать модуль urllib.request следующий (код на картинке).

📕 Документация

#урок
8👍3
📌 Модуль typing в Python, аннотации типов.

• Интерпретатор Python не проверяет и не принимает во внимание аннотации типов функций и переменных. Их могут использовать сторонние инструменты, такие как средства проверки типов, IDE, линтеры и т. д.

• Модуль typing обеспечивает поддержку выполнения аннотации типов. Наиболее фундаментальная поддержка состоит из типов typing.Any, typing.Union, typing.Tuple, typing.Callable, typing.TypeVar и typing.Generic.

Функция принимает и возвращает строку и аннотируется следующим образом (код на картинке).

📕 Документация

#урок
7🔥2
📌 Модуль http.server в Python

• Модуль http.server определяет классы для реализации HTTP-серверов (веб-серверов).

• Предупреждение модуль http.server не рекомендуется для использования в продакшне, так как он выполняет только базовые проверки безопасности.

• Класс http.server.HTTPServer, является подклассом socketserver.TCPServer(). Он создает и прослушивает HTTP-сокет, отправляя запросы обработчику.

Код для создания и запуска сервера выглядит так (код на картинке).

📕 Документация

#урок
5👍3
📌 Модуль bisect в Python, вставка в отсортированный список

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

• Модуль называется "bisect", потому что он использует базовый алгоритм деления пополам для выполнения своей работы. Исходный код может быть наиболее полезным в качестве рабочего примера алгоритма.

Пример использования модуля bisect (код на картинке).

📕 Документация

#урок
4🔥2
📌 Модуль zipimport в Python, импорт ZIP-архива.

• Модуль zipimport добавляет возможность импорта модулей Python (.py, .pyc) и пакетов из архивов формата ZIP. Обычно явно не требуется использовать модуль zipimport, он автоматически используется встроенным механизмом импорта для элементов sys.path, которые являются путями к архивам ZIP.

• Обычно sys.path представляет собой список имен каталогов в виде строк. Этот модуль также добавляет возможность sys.path использовать строки, обозначающие ZIP-архив. ZIP-архив может содержать структуру подкаталогов для поддержки импорта пакетов, а путь в архиве может быть указан только для импорта из подкаталога. Например, путь example.zip/lib/ будет импортироваться только из подкаталога lib/ в архиве.

Вот пример импорта модуля из ZIP-архива. Обратите внимание, что модуль zipimport не используется явно (код на картинке).

📕 Документация

#урок
6👍3
📌 Модуль mmap в Python, ускорение операций ввода-вывода

• Модуль mmap обеспечивает ввод и вывод файла с отображением памяти (I/O), что позволяет использовать функциональные возможности операционной системы более низкого уровня для чтения файлов. Такое поведение может значительно улучшить производительность кода, требующего большого количества файловых операций ввода-вывода.

Производительность mmap на примере чтения файла (код на картинке).

📕 Документация

#урок
6🔥3
📌 Модуль colorsys в Python, преобразования цвета

• Модуль colorsys определяет двунаправленное преобразование цветовых значений между цветовыми системами, выраженными в цветовом пространстве RGB (красный, зеленый, синий), используемом в компьютерных мониторах, и в трех других системах координат: YIQ, HLS (оттенок, яркость, насыщенность) и HSV (оттенок, насыщенность).

Преобразуем белый цвет из HEX в значение RGB (код на картинке).

📕 Документация

#урок
8🔥3👎1
📌 Модуль tomllib в Python, разбор файлов TOML

• Модуль tomllib предоставляет интерфейс для разбора строк и файлов синтаксиса TOML. Этот модуль не поддерживает запись файлов TOML. Он полностью совместим с TOML v1.0.0.

• Модуль tomllib - это версия стороннего модуля tomli который (согласно PEP 680) добавлен ​​в стандартную библиотеку в Python 3.11. Разработчики tomli продолжают поддерживать копию в PyPI для версий Python, где модуль стандартной библиотеки tomllib недоступен.

Разбор строки TOML (код на картинке).

📕 Документация

#урок
5👍2🤔1
📌 Графический модуль turtle в Python

• Графический модуль turtle - популярный способ познакомить детей с программированием. Он был частью оригинального языка программирования Logo.

• Представьте роботизированную черепаху, начинающуюся с точки (0, 0) в плоскости x/y. После импорта модуля turtle дайте ей команду turtle.forward(15), и она переместится (на экране!) на 15 пикселей в направлении, в котором смотрит, рисуя линию при движении. Дайте ей команду turtle.right(25), и она повернется на месте на 25 градусов по часовой стрелке.

Пример простого рисунка с модулем turtle (код на картинке).

📕 Документация

#урок
7👍3
📌 Модуль resource в Python, ограничение потребления ресурсов ОС.

• Модуль resource предоставляет базовые механизмы для измерения и контроля системных ресурсов, используемых программой.

• Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi. Дополнительную информацию см. в разделе Платформы WebAssembly.

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

Пример ограничения потребления ресурсов процессора и памяти (код на картинке).

📕 Документация

#урок
9👍5
📌 Модуль ftplib в Python, FTP-клиент.

• Модуль ftplib определяет класс ftplib.FTP() и несколько связанных элементов.

• Класс ftplib.FTP() реализует клиентскую часть протокола FTP. Этот класс можно использовать для написания программ Python, которые выполняют различные автоматизированные задания FTP, такие как зеркалирование других FTP-серверов. Он также используется модулем urllib.request для обработки URL-адресов, использующих FTP. Для получения дополнительной информации о FTP (протоколе передачи файлов) смотрите документацию "Internet RFC 959".

Пример сеанса с использованием модуля ftplib (код на картинке).

📕 Документация

#урок
6🔥3
📌 Модуль webbrowser в Python, открывает URL в браузере

• Модуль webbrowser предоставляет высокоуровневый интерфейс, позволяющий отображать пользователям веб-документы. В большинстве случаев простой вызов функции webbrowser.open() этого модуля будет правильным решением.

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

Простой пример использования модуля webbrowser (код на картинке).

📕 Документация

#урок
9👍3
📌 Модуль fcntl в Python

• Модуль fcntl выполняет управление файлами и вводом/выводом файловых дескрипторов. Это интерфейс для базовых системных вызовов Unix fcntl() и ioctl(). Полное описание этих системных вызовов можно посмотреть командами man fcntl и man ioctl.

• Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi.

• Все функции модуля fcntl, в качестве первого аргумента, принимают файловый дескриптор fd. Это может быть целочисленный файловый дескриптор, например, возвращаемый функцией sys.stdin.fileno(), или объект io.IOBase, такой как сам sys.stdin, который предоставляет fileno(), возвращающий подлинный файловый дескриптор.

Пример (код на картинке).

📕 Документация

#урок
6👍4
📌 Имя модуля – __name__

• У каждого модуля есть имя, и команды в модуле могут узнать имя их модуля. Это полез- но, когда нужно знать, запущен ли модуль как самостоятельная программа или импорти- рован. Как уже упоминалось выше, когда модуль импортируется впервые, содержащийся в нём код исполняется. Мы можем воспользоваться этим для того, чтобы заставить мо- дуль вести себя по-разному в зависимости от того, используется ли он сам по себе или импортируется в другую программа. Этого можно достичь с применением атрибута мо- дуля под названием name.

Пример (код на картинке).

Как это работает:
• В каждом модуле Python определено его имя – name . Если оно равно „main“, это означает, что модуль запущен самостоятельно пользователем, и мы можем выполнить соответствующие действия.

📕 Документация

#урок
8👍3