что такое стандартная библиотека python

Стандартная библиотека Python

Богатая стандартная библиотека является одной из привлекательных сторон языка программирования Python. Здесь имеются средства для работы со многими сетевыми протоколами и форматами интернета, например, модули для написания HTTP-серверов и клиентов, для разбора и создания почтовых сообщений, для работы с XML и т. п. Набор модулей для работы с операционной системой позволяет писать кросс-платформенные приложения. Существуют модули для работы с регулярными выражениями, текстовыми кодировками, мультимедийными форматами, криптографическими протоколами, архивами, сериализации данных, поддержка юнит-тестирования и др.

Содержание

Сервисы периода исполнения

Модуль sys

В этом модуле содержатся функции и константы для взаимодействия с интерпретатором Python. В этом модуле в том числе содержатся следующие переменные:

Модуль contextlib

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

В примере выше был использован встроенный в Python менеджер контекста. API менеджера контекста состоит из двух методов:

Модуль contextlib предлагает декоратор для создания контекстного менеджера на базе генератора:

Модуль abc

Типы данных

Модуль collections

Пример, демонстрирующий работу с дэком:

Пример именованного кортежа для точки в трёхмерном пространстве:

Пример, в котором поиск значения по ключу ведётся в заданном порядке в нескольких словарях:

Взаимодействие с ОС

Модуль os

Модуль os.path

Модуль служит для манипуляций с путями к файлам в независимом от платформы виде. Пример иллюстрирует использование некоторых функций модуля:

Обработка текстов

Полезные константы и функции из модуля string

Модуль содержит различные константы, которые можно использовать при обработке текстов, например: ascii_letters (строка, содержащая все буквы из набора ASCII), ascii_lowercase, digits (строка с цифрами от 0 до 9), letters (буквы, зависят от установки локали) и т. п.

Поддержка регулярных выражений: модуль re

Работа с байтовыми структурами в модуле struct

Модуль struct служит для конвертирования данных из строк байтов и типами данных языка Python и может применяться при работе с форматами бинарных файлов и коммуникационными протоколами. Функции pack и unpack позволяют «упаковывать» и «распаковывать» данные на основе строки формата, состоящей их кодов форматирования, например:

Порядок байтов многобайтных данных можно задать в строке форматирования, например:

Форматы данных

Работа с файловыми архивами

Примеры для Python 2.7 и 3.2

В следующем примере в файле archive.zip будет заархивирован файл file.txt, содержащий текст «text in the file». Это ещё один пример использования менеджера контекста.

Чтение архива происходит аналогично. В следующем примере будут напечатаны имена файлов, содержащиеся в архиве:

Конфигурационные файлы

Криптографические модули

Использовать Crypto API — совместимые библиотеки достаточно просто:

Сетевые протоколы

В стандартной библиотеке присутствуют модули для работы с сетевыми протоколами HTTP (и клиент, и простейший сервер), FTP, XML-RPC, SMTP, IMAP, NNTP и другие.

Простые базы данных

Работа с объектом базы данных происходит аналогично работе со словарём Python (на примере dumbdbm ) [15] :

Для долговременного хранения объектов Python можно использовать модуль shelve (рус. полка ).

Поддержка разработки программного обеспечения

Многопоточные вычисления

Графический интерфейс

Интроспекция

Платформно-зависимые модули

Примечания

Ссылки

Литература

что такое стандартная библиотека python. Смотреть фото что такое стандартная библиотека python. Смотреть картинку что такое стандартная библиотека python. Картинка про что такое стандартная библиотека python. Фото что такое стандартная библиотека python

что такое стандартная библиотека python. Смотреть фото что такое стандартная библиотека python. Смотреть картинку что такое стандартная библиотека python. Картинка про что такое стандартная библиотека python. Фото что такое стандартная библиотека python

Полезное

Смотреть что такое «Стандартная библиотека Python» в других словарях:

Стандартная библиотека — языка программирования набор модулей, классов, объектов, констант, глобальных переменных, шаблонов, макросов, функций и процедур, доступных для вызова из любой программы, написанной на этом языке и присутствующих во всех реализациях языка.… … Википедия

Стандартная библиотека языка Си — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h … Википедия

Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му … Википедия

Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г … Википедия

Ruby — Класс языка: мультипарадигмальный: динамический, объектно ориентиров … Википедия

C++ — У этого термина существуют и другие значения, см. C. См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в … Википедия

Руби IDE — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

Рубин (язык программирования) — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

Haskell — Класс языка: функциональный, ленивый, модульный Тип исполнения: компилируемый, интерпретируемый Появился в: 1990 … Википедия

Источник

Учимся читать код, изучая стандартную библиотеку Python

что такое стандартная библиотека python. Смотреть фото что такое стандартная библиотека python. Смотреть картинку что такое стандартная библиотека python. Картинка про что такое стандартная библиотека python. Фото что такое стандартная библиотека python

Итак, вы уже продвинутый новичок — вы изучили основы Python и способны решать реальные задачи.

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

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

Но какой же код нужно читать?

«Просто читай то, что нравится». А если вы не знаете, что вам нравится? А если вам не нравится что-то правильное?

Или хуже того — если вам нравится что-то неправильное и из-за этого у вас выработаются вредные привычки?

В конечном итоге, для этого ведь необходимо понимание… Но именно его мы и стремимся обрести.

«На GitHub куча проектов — выберите понравившийся и изучайте, как его реализовали разработчики». Однако самые успешные проекты довольно объёмны — с чего начинать?

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

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

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

В этой статье мы рассмотрим некоторые модули стандартной библиотеки Python.

Примечание о стандартной библиотеке

В целом, стандартная библиотека Python неидеальна для изучения «хорошего» стиля.

Хотя все её модули полезны, они не особо однородны:

Мы рассмотрим как раз некоторые из них.

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

Как читать модули

Приблизительно в таком порядке:

statistics

Он был внедрён в PEP 450. Если вы незнакомы с этим предложением, то это очень любопытное чтиво:

«Большая часть документации предназначена для читателей, понимающих базовые концепции, но которые могут не знать (например), какую дисперсию им стоит использовать [. ] Однако документация избегает скучных математических подробностей».

Код относительно прост, а когда это не так, то в нём есть комментарии и ссылки на подробные объяснения или статьи. Это может быть полезным, если вы изучаете все эти концепции и вам проще читать код, чем математическиe условные обозначения.

pathlib

Модуль был внедрён в PEP 428. Большинство примеров используется для иллюстрации лежащей в основе модуля философии, а код оставлен в качестве спецификации.

Код хорошо читается по следующим причинам:

dataclasses

Кроме того, это отличный пример метапрограммирования; этот аспект подробно рассматривается в докладке Реймонда Хеттингера Dataclasses: The code generator to end all code generators. [Слайды с доклада в HTML и PDF.] Если у вас возникли проблемы с пониманием кода, то сначала посмотрите доклад; для меня оказалось довольно полезным объяснение генерируемого кода.

Бонус: graphlib

Модуль graphlib был добавлен в Python 3.9, и на данный момент содержит только одну вещь: реализацию алгоритма топологической сортировки (вот описание того, что это такое, и почему он полезен).

Он появился не через PEP; однако у него есть issue со множеством комментариев от разных разработчиков ядра, в том числе Реймонда Хеттингера и Тима Питерса (известного своим «Дзен языка Python»).

Так как это, по сути, решённая задача, в обсуждениях рассматривается API: куда его вставлять, кто должен его вызывать, как представлять входные и выходные данные, как одновременно обеспечить простоту использования и гибкость.

В обсуждении пытаются примирить два различных способа использования модуля:

По сравнению с обсуждением issue, сам код очень мал — меньше 250 строк, и в основном состоит из комментариев и документации.

На правах рекламы

Серверы для разработчиков и не только! Дешёвые VDS на базе новейшего «железа» для размещения проектов любой сложности, от корпоративных сетей и игровых проектов до лендингов и VPN.

Источник

Стандартная библиотека Python3.

Содержание справочника по модулям, поставляемым с интерпретатором Python3.

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

Модуль string в Python, текстовые константы и шаблоны.

Многие функции, ранее реализованные в модуле string, были перенесены в методы объектов str. Модуль string сохраняет несколько полезных констант и классов для работы с объектами str.

Модуль textwrap в Python, форматирование абзацев.

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

Модуль unicodedata в Python, база данных Unicode.

Этот модуль обеспечивает доступ к базе данных символов Unicode (UCD), которая определяет свойства символов для всех символов Unicode.

Модуль readline в Python, автодополнение табуляцией.

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

Модуль difflib в Python, сравнение текста.

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

Модуль re в Python, функции регулярных выражений.

Модуль Python re предоставляет операции сопоставления регулярных выражений, аналогичные тем, которые встречаются в Perl. Большинство операций с регулярными выражениями доступны как функции и методы уровня модуля для скомпилированных регулярных выражений.

Модуль codecs в Python, реестр кодеков.

Модуль codecs определяет базовые классы для стандартных кодеков Python (кодеров и декодеров) и предоставляет доступ к внутреннему реестру кодеков Python, который управляет процессом поиска кодека и обработки ошибок.

Модуль io, операции ввода/вывода в Python.

Модуль io предоставляет основные средства Python для работы с различными типами ввода-вывода. Независимо от своей категории каждый конкретный объект потока также будет иметь различные возможности: он может быть доступен только для чтения, только для записи или для чтения и записи.

Модуль sys, параметры конфигурации в Python.

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

Модуль os в Python, доступ к функциям ОС.

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

Модуль stat в Python, извлечение информации из stat_result.

Модуль stat определяет константы и функции для интерпретации результатов работы функций os.stat() и os.lstat().

Модуль pathlib в Python, операции с путями ОС.

Модуль pathlib по сути объединяет в себе часто используемые функции двух стандартных модулей os и os.path, а так же стандартную функцию open(). Модуль pathlib предлагает классы, представляющие пути файловой системы с семантикой, подходящей для различных операционных систем.

Модуль os.path в Python, операции с путями ОС.

Модуль os.path реализует некоторые полезные функции для манипулирования путями файловой системы. Параметры пути могут быть переданы в виде строк или байтов. Приложениям рекомендуется представлять имена файлов в виде (Unicode) символьных строк.

Модуль array в Python, массивы числовых значений.

Модуль array определяет тип объекта, который может компактно представлять массив базовых значений: символы, целые числа, числа с плавающей запятой.

Модуль struct, структуры C в Python.

Модуль `struct` включает функции для преобразования между строками байтов и родными типами данных Python, такими как числа и строки. Модуль использует формат строки в качестве компактного описания структур языка `C` и предполагаемого преобразования в/из значений Python.

Источник

Стандартная библиотека Python¶

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

Стандартная библиотека Python очень обширна и предлагает широкий спектр возможностей, о чем свидетельствует подробное содержание, приведенное ниже. Библиотека содержит встроенные модули (написанные на языке C), обеспечивающие доступ к таким функциональным возможностям системы, как файловый ввод-вывод, который в противном случае был бы недоступен для Python программистов, а также модули, написанные на языке Python, обеспечивающие стандартные решения многих проблем, возникающих при повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости Python программ путем абстракции особенностей платформы в виде нейтрального к платформе API.

Установщики Python для платформы Windows обычно включают всю стандартную библиотеку и часто также включают множество дополнительных компонентов. Для Unix-подобных операционных систем Python обычно предоставляется в виде набора пакетов, поэтому может потребоваться использование пакетных инструментов, поставляемые с операционной системой, для получения некоторых или всех необязательных компонентов.

Помимо стандартной библиотеки, существует растущая коллекция из нескольких тысяч компонентов (от отдельных программ и модулей до пакетов и фреймворков разработки приложений), доступных из Пакетного Индекса Python.

Источник

Стандартная библиотека Python3.

Содержание справочника по модулям, поставляемым с интерпретатором Python3.

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

Модуль collections в Python, контейнерные типы данных.

Модуль collections реализует специализированные типы данных контейнеров, предоставляя альтернативы встроенным контейнерам Python общего назначения dict, list, set и tuple.

Модуль functools в Python, инструменты расширения функций.

Модуль functools предоставляет инструменты для адаптации или расширения функций и других вызываемых объектов, не переписывая их полностью.

Модуль getpass в Python, безопасный ввод пароля.

Модуль getpass предоставляет переносимый способ безопасной обработки запроса у пользователя значения пароля.

Модуль heapq, кучи в Python.

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

Пакет importlib в Python.

Назначение пакета `importlib` заключается в том, чтобы обеспечить реализацию оператора импорта `import` и следовательно, расширение функции `__import__()` в исходном коде Python.

Модуль itertools в Python, готовые итераторы.

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

Модуль json в Python, работа с JSON форматом.
Модуль csv в Python, работа с CSV форматом.

Модуль csv реализует классы для чтения и записи табличных данных в формате CSV. Программисты также могут описывать форматы CSV, понятные другим приложениям или определять свои собственные специализированные форматы CSV.

Модуль glob в Python, поиск файлов по шаблонам.

Модуль glob находит все пути, соответствующие указанному шаблону, в соответствии с правилами, используемыми оболочкой Unix. Результаты возвращаются в произвольном порядке.

Модуль fnmatch в Python, шаблонизатор имен файлов.

Модуль fnmatch обеспечивает поддержку подстановочных знаков в стиле оболочки Unix (подстановочные wildcard-выражения).

Модуль shutil в Python, операций над файлами/каталогами.

Модуль shutil предлагает ряд высокоуровневых операций над файлами и коллекциями файлов. В частности, предусмотрены функции, которые поддерживают копирование, удаление и архивирования файлов.

Модуль venv в Python3, создание виртуальных сред.

Модуль venv обеспечивает поддержку создания облегченных «виртуальных сред». Каждая виртуальная среда имеет свой собственный двоичный файл Python и может иметь собственный независимый набор установленных пакетов Python в своих каталогах.

Модуль ensurepip в Python.

Пакет `ensurepip` обеспечивает поддержку начальной загрузки установщика `pip` в виртуальную среду или существующую установку Python.

Модуль zipapp в Python, исполняемые zip-архивы.

Модуль zipapp предоставляет инструменты для управления созданием zip-файлов, содержащих код Python, которые могут выполняться непосредственно интерпретатором Python.

Модуль decimal в Python, десятичная арифметика.

Модуль десятичной дроби decimal обеспечивает поддержку быстрой правильно округленной десятичной арифметики с плавающей запятой. Он предлагает несколько преимуществ по сравнению с типом данных float

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *