You are currently viewing Модули Python

Модули Python

Модуль Python — это файл, содержащий определения и инструкции Python. Модуль может определять функции, классы и переменные. Модуль также может включать выполняемый код. Группировка связанного кода в модуль облегчает его понимание и использование. Это также делает код логически организованным.

Пример: создайте простой модуль

# A simple module, calc.py

def add(x, y):
	return (x+y)

def subtract(x, y):
	return (x-y)

Модуль импорта в Python – Инструкция импорта

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

Синтаксис:

import module

Когда интерпретатор встречает инструкцию import, он импортирует модуль, если модуль присутствует в пути поиска. Путь поиска-это список каталогов, которые интерпретатор ищет для импорта модуля. Например, для импорта модуля calc.py, нам нужно поместить следующую команду в верхней части сценария.

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

Пример: Импорт модулей в Python

# importing module calc.py
import calc

print(calc.add(10, 2))

Выход:

12

От импорта 

Инструкция Python from позволяет импортировать определенные атрибуты из модуля без импорта модуля в целом.

Пример: Импорт определенных атрибутов из модуля

# importing sqrt() and factorial from the
# module math
from math import sqrt, factorial

# if we simply do "import math", then
# math.sqrt(16) and math.factorial()
# are required.
print(sqrt(16))
print(factorial(6))

Выход:

4.0
720

Импорт всех имен – Из инструкции import *

Символ*, используемый в инструкции from import, используется для импорта всех имен из модуля в текущее пространство имен.

Синтаксис:

from module_name import *

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

Пример: Импорт всех имен

# importing sqrt() and factorial from the
# module math
from math import *

# if we simply do "import math", then
# math.sqrt(16) and math.factorial()
# are required.
print(sqrt(16))
print(factorial(6))

Выход:

4.0
720

Поисковые Модули

Всякий раз, когда модуль импортируется в Python, интерпретатор ищет несколько местоположений. Сначала он проверит наличие встроенного модуля, если он не найден, то он ищет список каталогов, определенных в sys.path. Интерпретатор Python выполняет поиск модуля следующим образом –

  • Во-первых, он ищет модуль в текущем каталоге.
  • Если модуль не найден в текущем каталоге, Python затем выполняет поиск в каждом каталоге в переменной оболочки PYTHONPATH. PYTHONPATH — это переменная среды, состоящая из списка каталогов.
  • Если это также не удается, python проверяет список каталогов, зависящих от установки, настроенный во время установки Python.

Пример: Список каталогов для модулей

# importing sys module
import sys

# importing sys.path
print(sys.path)

Выход:

[‘/home/nikhil/Desktop/gfg’, ‘/usr/lib/python38.zip’, ‘/usr/lib/python3.8’, ‘/usr/lib/python3.8/lib-dynload’, ”, ‘/home/nikhil/.local/lib/python3.8/site-packages’, ‘/usr/local/lib/python3.8/dist-packages’, ‘/usr/lib/python3/dist-packages’, ‘/usr/local/lib/python3.8/dist-packages/IPython/extensions’, ‘/home/nikhil/.ipython’]

Модуль импорта и переименования

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

Пример: Переименование модуля

# importing sqrt() and factorial from the
# module math
import math as gfg

# if we simply do "import math", then
# math.sqrt(16) and math.factorial()
# are required.
print(gfg.sqrt(16))
print(gfg.factorial(6))

Выход:

4.0
720

Функция dir()

Встроенная функция dir() возвращает отсортированный список строк, содержащих имена, определенные модулем. Список содержит имена всех модулей, переменных и функций, определенных в модуле.

# Import built-in module random
import random
print(dir(random))

Выход:

[‘BPF’, ‘LOG4’, ‘NV_MAGICCONST’, ‘RECIP_BPF’, ‘Random’, ‘SG_MAGICCONST’, ‘SystemRandom’, ‘TWOPI’, ‘_BuiltinMethodType’, ‘_MethodType’, ‘_Sequence’, ‘_Set’, ‘__all__’, ‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__spec__’, ‘_acos’, ‘_bisect’, ‘_ceil’, ‘_cos’, ‘_e’, ‘_exp’, ‘_inst’, ‘_itertools’, ‘_log’, ‘_pi’, ‘_random’, ‘_sha512’, ‘_sin’, ‘_sqrt’, ‘_test’, ‘_test_generator’, ‘_urandom’, ‘_warn’, ‘betavariate’, ‘choice’, ‘choices’, ‘expovariate’, ‘gammavariate’, ‘gauss’, ‘getrandbits’, ‘getstate’, ‘lognormvariate’, ‘normalvariate’, ‘paretovariate’, ‘randint’, ‘random’, ‘randrange’, ‘sample’, ‘seed’, ‘setstate’, ‘shuffle’, ‘triangular’, ‘uniform’, ‘vonmisesvariate’, ‘weibullvariate’]

Фрагмент кода, иллюстрирующий встроенные модули python:

# importing built-in module math
import math

# using square root(sqrt) function contained
# in math module
print(math.sqrt(25))

# using pi function contained in math module
print(math.pi)

# 2 radians = 114.59 degrees
print(math.degrees(2))

# 60 degrees = 1.04 radians
print(math.radians(60))

# Sine of 2 radians
print(math.sin(2))

# Cosine of 0.5 radians
print(math.cos(0.5))

# Tangent of 0.23 radians
print(math.tan(0.23))

# 1 * 2 * 3 * 4 = 24
print(math.factorial(4))

# importing built in module random
import random

# printing random integer between 0 and 5
print(random.randint(0, 5))

# print random floating point number between 0 and 1
print(random.random())

# random number between 0 and 100
print(random.random() * 100)

List = [1, 4, True, 800, "python", 27, "hello"]

# using choice function in random module for choosing
# a random element from a set such as a list
print(random.choice(List))


# importing built in module datetime
import datetime
from datetime import date
import time

# Returns the number of seconds since the
# Unix Epoch, January 1st 1970
print(time.time())

# Converts a number of seconds to a date object
print(date.fromtimestamp(454554))

Выход:

5.0
3.14159265359
114.591559026
1.0471975512
0.909297426826
0.87758256189
0.234143362351
24
3
0.401533172951
88.4917616788
Правда
1461425771.87
1970-01-06