14 Импорт модуля

Используйте import заявление:

 >>> import random
>>> print(random.randint(1, 10))
4

 

import module будет импортировать модуль , а затем позволяют ссылаться на свои объекты - ценности, функции и классы, например - с помощью module.name синтаксиса. В приведенном выше примере, то random образом модуль импортируется, который содержит randint функцию. Таким образом , за счет импорта random образом вы можете вызвать randint с random.randint .

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

 >>> import random as rn
>>> print(rn.randint(1, 10))
4

 

Если ваш питон файл main.py находится в той же папке, custom.py . Вы можете импортировать это так:

 import custom

 

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

 >>> from math import sin
>>> sin(1)
0.8414709848078965

 

Чтобы импортировать определенные функции глубже в модуль, оператор точки может быть использован только на левой стороне import ключевого слова:

 from urllib.request import urlopen


 

В python у нас есть два способа вызвать функцию с верхнего уровня. Одним из них является import и другое from . Мы должны использовать import , когда мы имеем возможность коллизии имен. Предположим , что мы имеем hello.py файл и world.py файлы , имеющие ту же самую функцию с именем function . Тогда import заявление будет хорошо работать.

 from hello import function
from world import function

function() #world's function will be invoked. Not hello's  


 

В общем import предоставит вам пространство имен.

 import hello
import world

hello.function() # exclusively hello's function will be invoked 
world.function() # exclusively world's function will be invoked

 

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

Многократный импорт может быть выполнен в одной строке:

 >>> # Multiple modules
>>> import time, sockets, random
>>> # Multiple functions
>>> from math import sin, cos, tan
>>> # Multiple constants
>>> from math import pi, e

>>> print(pi)
3.141592653589793
>>> print(cos(45))
0.5253219888177297
>>> print(time.time())
1482807222.7240417

 

Ключевые слова и синтаксис, показанные выше, также могут использоваться в комбинациях:

 >>> from urllib.request import urlopen as geturl, pathname2url as path2url, getproxies
>>> from math import factorial as fact, gamma, atan as arctan
>>> import random.randint, time, sys

>>> print(time.time())
1482807222.7240417
>>> print(arctan(60))
1.554131203080956
>>> filepath = "/dogs/jumping poodle (december).png"
>>> print(path2url(filepath))
/dogs/jumping%20poodle%20%28december%29.png