导入模块

使用 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.pycustom.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