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

Модули Python

Модули Python

В этой статье вы научитесь создавать и импортировать пользовательские модули в Python. Кроме того, вы найдете различные способы импорта и использования пользовательских и встроенных модулей в Python.

Видео:модули Python

Что такое модули в Python?

Модули относятся к файлу, содержащему операторы и определения Python.

Файл, содержащий код Python, например:example.py , называется модулем, и его имя модуля будет example .

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

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

Давайте создадим модуль. Введите следующее и сохраните его как example.py .

# Python Module example

def add(a, b):
   """This program adds two
   numbers and return the result"""

   result = a + b
   return result

Здесь мы определили функцию add() внутри модуля с именем example . Функция принимает два числа и возвращает их сумму.

<час>

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

Мы можем импортировать определения внутри модуля в другой модуль или в интерактивный интерпретатор Python.

Мы используем import ключевое слово для этого. Чтобы импортировать наш ранее определенный модуль example , мы вводим следующее в командной строке Python.

>>> import example

Это не импортирует имена функций, определенных в example. непосредственно в текущей таблице символов. Он импортирует только имя модуля example там.

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

>>> example.add(4,5.5)
9.5

Python имеет множество стандартных модулей. Вы можете ознакомиться с полным списком стандартных модулей Python и примерами их использования. Эти файлы находятся в каталоге Lib внутри места, где вы установили Python.

Стандартные модули можно импортировать так же, как мы импортируем наши пользовательские модули.

Существуют различные способы импорта модулей. Они перечислены ниже..

<час>

оператор импорта Python

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

# import statement example
# to import standard module math

import math
print("The value of pi is", math.pi)

Когда вы запустите программу, вывод будет:

The value of pi is 3.141592653589793
<час>

Импорт с переименованием

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

# import module by renaming it

import math as m
print("The value of pi is", m.pi)

Мы переименовали math модуль как m . В некоторых случаях это может сэкономить нам время при наборе текста.

Обратите внимание, что имя math не признается в нашей области. Следовательно, math.pi недействителен, и m.pi является правильной реализацией.

<час>

Python from...оператор импорта

Мы можем импортировать определенные имена из модуля, не импортируя модуль в целом. Вот пример.

# import only pi from math module

from math import pi
print("The value of pi is", pi)

Здесь мы импортировали только pi атрибут из math модуль.

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

>>> from math import pi, e
>>> pi
3.141592653589793
>>> e
2.718281828459045
<час>

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

Мы можем импортировать все имена (определения) из модуля, используя следующую конструкцию:

# import all names from the standard module math

from math import *
print("The value of pi is", pi)

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

Импорт всего со звездочкой (*) не является хорошей практикой программирования. Это может привести к дублированию определений идентификатора. Это также ухудшает читабельность нашего кода.

<час>

При импорте модуля Python просматривает несколько мест. Сначала интерпретатор ищет встроенный модуль. Затем (если встроенный модуль не найден) Python просматривает список каталогов, определенных в sys.path. . Поиск осуществляется в этом порядке.

>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']

Мы можем добавлять и изменять этот список, чтобы добавить наш собственный путь.

<час>

Перезагрузка модуля

Интерпретатор Python импортирует модуль только один раз за сеанс. Это делает вещи более эффективными. Вот пример, показывающий, как это работает.

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

# This module shows the effect of
#  multiple imports and reload

print("This code got executed")

Теперь мы видим эффект множественного импорта.

>>> import my_module
This code got executed
>>> import my_module
>>> import my_module

Мы видим, что наш код был выполнен только один раз. Это говорит о том, что наш модуль был импортирован только один раз.

Теперь, если наш модуль изменился в ходе работы программы, нам пришлось бы перезагрузить его. Один из способов сделать это — перезапустить интерпретатор. Но это мало помогает.

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

>>> import imp
>>> import my_module
This code got executed
>>> import my_module
>>> imp.reload(my_module)
This code got executed
<module 'my_module' from '.\\my_module.py'>
<час>

Встроенная функция dir()

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

Например, мы определили функцию add() в модуле example что у нас было в начале.

Мы можем использовать dir в example модуль следующим образом:

>>> dir(example)
['__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'add']

Здесь мы видим отсортированный список имен (вместе с add ). Все остальные имена, начинающиеся со знака подчеркивания, являются атрибутами Python по умолчанию, связанными с модулем (не определяемыми пользователем).

Например, __name__ атрибут содержит имя модуля.

>>> import example
>>> example.__name__
'example'

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

>>> a = 1
>>> b = "hello"
>>> import math
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter']

Python

  1. Типы данных Python
  2. Ввод, вывод и импорт Python
  3. Операторы Python
  4. Аргументы функции Python
  5. Модули Python
  6. Словарь Питона
  7. Итераторы Python
  8. Замыкания Python
  9. Дата и время Python
  10. Модуль времени Python