Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Программирование » Питон - модули, пакеты, классы, экземпляры (СИ) - Бройтман Олег

Питон - модули, пакеты, классы, экземпляры (СИ) - Бройтман Олег

01.05.2026 - 04:00 0 0
0
Питон - модули, пакеты, классы, экземпляры (СИ) - Бройтман Олег
Обзор книги "Питон - модули, пакеты, классы, экземпляры (СИ) - Бройтман Олег"
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
Читать онлайн Питон - модули, пакеты, классы, экземпляры (СИ) - Бройтман Олег
1 2 3
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

Модули - структурирование пространства имен

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

В Питоне три пространства имен: встроенное пространство имен (им можно управлять с помощью модуля доступа к интерпретатору sys), локальное пространство функции, и глобальное пространство модуля. (Объектно-ориентированное программирование создает дополнительные пространства классов и экземпляров классов, об этом ниже). Каждое пространство имен - это список отображений имени в значение.

Модуль - это совокупность описаний, объединенных в общее пространство имен - глобальное пространство модуля. Модули подключаются к программе (или другому модулю) с помощью оператора import, после которого имена из пространства имен модуля становятся доступными. Какие именно имена становятся доступны, определяет оператор import: вариант import module делает доступным ровно одно имя - имя модуля module, но зато через это имя можно использовать все глобальные имена модуля в виде module.name. В варианте from module import name из модуля импортируется указанное имя или список имен. В варианте from module import * из модуля импортируются все имена. Хотя автор модуля может ограничить этот список, а в отсутствии такого ограничения не импортируются имена, начинающиеся с подчеркивания - считается, что это внутренние имена модуля, не входящие в его публичный интерфейс.

Модуль может быть написан на Python, C или C++. Модули, написанные на Питоне, позволяют создавать новые классы (об объектно-ориентированном программировании речь будет идти ниже). Модули написанные на C и C++ позволяют создавать новые типы данных. Модули, написанные на C/C++ могут быть встроенные (builtin) или подгружаемые (DLL в Windows, разделяемые библиотеки в тех вариантах UNIX, в которых формат выполняемых файлов ELF).

Модуль на Питоне - это текстовый файл с расширением .py, содержащий описания переменных, функций и классов, плюс выполняемый код, который позволяет инициализировать модуль. Этот код выполняется при первом импорте модуля, после чего интерпретатор запоминает, что модуль уже проимпортирован и проинициализирован, и при последующих импортах этого же модуля код инициализации не выполняется.

Модули можно объединять в древовидные иерархии. Например, пакет XML содержит в себе пакеты DOM, SAX, Parsers (и другие, в зависимости от реализации). В результате можно проимпортировать PyExpat командой import xml.parsers.expat, тогда команды этого модуля будут доступны как xml.parsers.expat.ParserCreate, а можно проимпортировать его же командой from xml.parsers import expat, тогда команды этого модуля будут доступны как expat.ParserCreate. Или сразу from xml.parsers.expat import ParserCreate!

1 2 3
Перейти на страницу:
Открыть боковую панель
Комментарии
Женёк
Женёк 09.05.2026 - 10:14
Очень грустная история .. насильно мил не будешь..
Катя
Катя 03.05.2026 - 11:18
Маниакальная любовь и ее последствия
Marina
Marina 03.05.2026 - 01:53
Ой, как понравился роман!
Братислава
Братислава 05.03.2026 - 10:03
Очень понравились книга. Лёгкая. Уверенные в себе герои, прекрасные поступки
Ninel
Ninel 02.03.2026 - 09:26
Горячо ❤️‍🔥❤️‍🔥❤️‍🔥 и сладко