导入模块
使用 import
语句:
>>> import random
>>> print(random.randint(1, 10))
4
import module
将导入一个模块,然后允许你使用 module.name
语法引用其对象 - 值,函数和类。在上面的例子中,导入了 random
模块,其中包含 randint
功能。因此,通过导入 random
,你可以使用 random.randint
调用 randint
。
你可以导入模块并将其分配给其他名称:
>>> import random as rn
>>> print(rn.randint(1, 10))
4
如果你的 python 文件 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