Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Модуль импорта в Python с примерами

Какие модули есть в Python?

Модуль — это файл с кодом Python. Код может быть в виде переменных, функций или определенных классов. Имя файла становится именем модуля.

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

Из этого руководства вы узнаете:

Что такое модуль импорта Python?

Файл рассматривается как модуль в python. Чтобы использовать модуль, вы должны импортировать его с помощью импорта ключевое слово. Функцию или переменные, находящиеся внутри файла, можно использовать в другом файле, импортировав модуль. Эта функция доступна на других языках, таких как typescript, JavaScript, java, ruby ​​и т. д.

Как создать и импортировать модуль в Python?

Теперь мы создадим модуль и импортируем его в другой файл.

Вот процесс создания и импорта модуля, как показано на снимке экрана:

Следуйте инструкциям по созданию модуля в Python.

Структура папок, используемая для тестирования кода, выглядит следующим образом:

06

Шаг 1) Создайте файл и назовите его test.py

Шаг 2) Внутри test.py создайте функцию display_message()

15 

Шаг 3) Теперь создайте еще один файл display.py.

Шаг 4) Внутри display.py импортируйте файл moduletest.py, как показано ниже:

23

При импорте вам не нужно упоминать test.py, а только имя файла.

Шаг 5)

Затем вы можете вызвать функцию display_message() из test.py внутри display.py, вам нужно использовать module_name.function_name.

Например, test.display_message().

37

Шаг 6)

При выполнении display.py вы получите следующий вывод:

45

Импорт класса в Python

Ранее мы видели простой модуль с функцией. Здесь будет создан класс и ссылка на класс внутри другого файла.

Структура папок для тестирования кода выглядит следующим образом:

53

Создайте файл с именем Car.py со следующим кодом:

Имя файла:Car.py

66

В файле Car.py есть атрибуты brand_name, model и manu_year. Внутри класса определены следующие функции:car_details(), get_Car_brand(), get_Car_model().

Давайте теперь используем файл Car.py в качестве модуля в другом файле с именем display.py.

Имя файла:display.py

78

Вывод:

84

Таким образом, мы можем получить доступ ко всем переменным и функциям из Car.py с помощью модуля Car.

Использование модуля from для импорта

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

Если вы хотите импортировать только определенные вещи, вы можете использовать ключевое слово «от», чтобы импортировать то, что вы хотите.

Итак, синтаксис

94

Структура папок, используемая для тестирования кода, выглядит следующим образом:

102

В test.py есть 2 функции, как показано:

Имя файла:test.py

119

Теперь вам нужна функция display_message(). К импортируемой функции или переменной можно получить прямой доступ, как показано ниже:

Имя файла:display.py

124

Вывод:

139

Теперь, если вы используете функцию display_message1(), она выдаст ошибку, что функция не определена, как показано ниже:

141

Вывод:

154

Импорт всего из модуля

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

Синтаксис:

160

Или с помощью

174

Структура папок, используемая для тестирования кода, выглядит следующим образом:

181

Ниже приведены подробности кода внутри test.py

192

Использование модуля импорта

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

Пример

Имя файла:display.py

207

Тест имени модуля используется для ссылки на функцию и переменные внутри теста модуля.

Вывод:

214

Использование импорта *

Давайте рассмотрим пример с использованием import * . Использование импорта * , функции и переменные доступны напрямую, как показано в примере ниже:

224

Вывод:

233

Функция dir()

dir() — это встроенная функция в python. dir() возвращает все свойства и методы, включая встроенные свойства данного объекта.

Поэтому, когда dir() используется в модуле, он дает вам переменные, функции, которые присутствуют внутри модуля.

Вот рабочий пример dir() в модуле. У нас есть класс с именем Car.py, давайте импортируем Car и назначим его dir(), чтобы увидеть результат.

Структура папок для тестирования кода будет следующей:

246

Имя файла:Car.py

256

Имя файла:test.py

260

Вывод дает нам имя класса и все функции, определенные в Car.py.

Вы также можете попробовать использовать dir() во встроенном модуле, доступном в Python. Давайте попробуем то же самое на json модуль, как показано в примере ниже. Он отобразит все свойства и методы, доступные в json . модуль.

274

Вывод:

289

Пакеты

Пакет — это каталог со всеми модулями, определенными внутри него. Чтобы интерпретатор Python рассматривал его как пакет, в вашем каталоге должен быть файл init.py. init.py создает каталог как пакет. Вот макет пакета, над которым мы собираемся работать.

Имя пакета — мой пакет. . Чтобы начать работу с пакетом, создайте каталог с именем package/. Внутри каталога создайте пустой файл с именем __init__.py. Создайте еще 3 файла module1.py, module2.py и module3.py и определите функции, как показано на снимке экрана. Вот подробная информация о module1.py,module2.py и module3.py

module1.py

290

module2.py

309

module3.py

312

Пакет готов к использованию. Теперь вызовите пакет внутри любого вашего файла, как показано ниже :test.py:

Здесь импортируется mypackage.module1, которому присваивается псевдоним mod1. Точно так же вы можете использовать другие модули module2.py и module3.py из моего пакета.

322

Вывод:

335

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

Путь поиска модуля Python

Во время выполнения, когда python встречает импорт имени модуля , интерпретатор пытается найти модуль. Он ищет модуль в списке встроенных модулей. Позже все каталоги, определенные внутри sys.path.

Подводя итог, интерпретатор выполняет следующий поиск, чтобы найти модуль:

  1. В вашем текущем каталоге.
  2. В списке встроенных модулей
  3. В каталогах sys.path

Вы можете получить подробную информацию о sys.path, импортировав модуль sys и распечатав sys.path. Это даст вам список каталогов, как показано ниже:

349

Вывод:

359

Вы также можете изменить путь и сохранить каталоги в соответствии с вашими требованиями.

Использование псевдонима модуля в импорте

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

Синтаксис:

361

Структура папок для тестирования кода будет следующей:

373

Ниже приведен код внутри test.py

382

Теперь будет использоваться псевдоним для test.py в display.py

398

Псевдоним, который используется для тестового модуля, — t . Таким образом, на функцию и переменные из test.py можно ссылаться с помощью псевдонима t.

Вывод:

401

Абсолютный и относительный импорт в Python

Теперь вы знаете, как импортировать файл как модуль внутри другого файла. Давайте теперь посмотрим, как управлять файлами, доступными в папках. Файлы в папках можно импортировать с помощью абсолютного или относительного импорта.

Учтите, что у вас есть структура папок проекта, как показано ниже:

Корневая папка — это мой проект/. Он имеет две подпапки package1 и package2.

Папка package1 содержит два модуля:module1.py и module2.py.

В папке package2 есть один класс myclass.py, подпакет subpkg с модулем3.py и последний модуль4.py.

  • В файле module1.py есть функция myfunc1.
  • В module2.py есть функция myfunc2.
  • В module3.py есть функция myfunc3.
  • В module4.py есть функция myfunc4.

Использование абсолютного импорта

Для абсолютного импорта вам необходимо добавить полный путь к вашему модулю прямо из корневой папки проекта.

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

Для работы с функцией myfunc1 вам потребуется выполнить импорт следующим образом:

414

Для работы с функцией myfunc3 вам потребуется выполнить импорт следующим образом:

428

Преимущества и недостатки использования абсолютного импорта

Вот преимущества использования абсолютного импорта:

  • Становится легко отследить модули для проверки кода.
  • Простой в использовании и очень простой.
  • Если проект перемещается по другому пути, импорт останется прежним.

Недостатки абсолютного импорта

Вот недостатки использования абсолютного импорта:

Недостатки:

  • Путь импорта может быть очень длинным, если модули вложены друг в друга, а имена модулей длинные.

Использование относительного импорта

Учитывая ту же структуру папок, упомянутую ниже, мы увидим, как импортировать то же самое, используя относительный импорт.

При относительном импорте модуль, который нужно импортировать, относится к текущему местоположению, которое является местом, где присутствует оператор импорта.

Синтаксис:

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

Это будет 2 точки (..) перед именем модуля, если модуль находится на один уровень выше текущего местоположения.

Ссылаясь на рисунок структуры папок, упомянутый выше, у нас есть следующие модули с их функциями, на которые нам нужно ссылаться.

  • В файле module1.py есть функция myfunc1.
  • В module2.py есть функция myfunc2.
  • В module3.py есть функция myfunc3.
  • В module4.py есть функция myfunc4.

Для работы с функцией myfunc1 вам потребуется импортировать следующим образом:

432

Для работы с функцией myfunc3 вам потребуется выполнить импорт следующим образом:

441

Преимущества относительного импорта

Преимущества:

  • С относительным импортом легко работать.
  • Из текущего местоположения импорт может быть сокращен по сравнению с абсолютным импортом.

Недостатки относительного импорта

Недостатки:

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

Обзор:

  • Импорт в Python помогает ссылаться на код, т. е. на .функции/объекты, записанные в другом файле. Он также используется для импорта библиотек/пакетов Python, которые устанавливаются с помощью pip (менеджер пакетов Python), и затем вам необходимо использовать их в своем коде.
  • Функции импорта доступны на других языках, таких как typescript, JavaScript, java, ruby ​​и т. д.
  • Модуль — это код, написанный внутри файла, например (test.py). Внутри вашего файла вы можете определить свои переменные, функции или класс. Весь файл становится модулем и может быть импортирован в другой файл для ссылки на код.
  • Благодаря функциям модуля вы можете разбить свой код на разные файлы вместо того, чтобы записывать все в один файл. Позже, используя импорт, вы можете обратиться к коду внутри нужного вам файла.
  • Python имеет встроенные модули, а также внешние библиотеки/пакеты, установленные с помощью диспетчера пакетов Python (pip), например, pandas, NumPy и т. д., которые называются модулями.
  • Вы можете импортировать только небольшую часть модуля, т. е. только необходимые функции и имена переменных из модуля, вместо того, чтобы импортировать полный код.
  • Вы также можете преобразовать имя модуля в более короткую форму, присвоив ему псевдоним. Псевдоним можно сделать с помощью ключевого слова.
  • Пакет — это каталог, в котором определены все модули. Чтобы интерпретатор Python рассматривал его как пакет, в вашем каталоге должен быть файл __init.py. init.py создает каталог как пакет. Вот макет пакета, над которым мы собираемся работать.
  • Во время выполнения, когда python встречает импорт имени модуля , интерпретатор пытается найти модуль. Он ищет модуль в списке встроенных модулей. Позже все каталоги, определенные внутри sys.path.
  • Для абсолютного импорта необходимо добавить полный путь к вашему модулю прямо из корневой папки проекта.
  • При относительном импорте модуль, который нужно импортировать, относится к текущему местоположению, которое является местом, где присутствует оператор импорта.

Python

  1. Модули Python
  2. Количество строк Python() с ПРИМЕРАМИ
  3. Python String format() Объясните с ПРИМЕРАМИ
  4. Метод Python String find() с примерами
  5. Лямбда-функции Python с ПРИМЕРАМИ
  6. Функция Python round() с ПРИМЕРАМИ
  7. Функция Python map() с ПРИМЕРАМИ
  8. Python Timeit() с примерами
  9. Счетчик Python в коллекциях с примером
  10. type() и isinstance() в Python с примерами