import 模块名[as别名]
使用这种方式导入以后,使用时需要在对象之前加上模块名作为前缀,必须以” 模块名.对象名” 的形式进行访问.如果模块名字很长的话,可以为导入的模块重新设置一个别名,然后使用”别名.对象名”的方式来使用其中的对象.
>>> import math
>>> math.sin(0.5)
0.479425538604203
>>> import random
>>> n=random.random()
>>> n=random.randint(1,100)
>>> n=random.randrange(1,100)
>>> import os.path as path
>>> path.isfile(r'C:\windows\notepad.exe')
True
>>> import numpy as np
>>> a=np.array((1,2,3,4))
>>> a
array([1, 2, 3, 4])
>>> print(a)
[1 2 3 4]
2. from模块名import对象名[as 别名]
使用这种方式仅导入明确指定的对象,并且可以为导入的对象确定一个别名。这种导入方式可以减少查询次数,提高访问速度同时也可以减少程序员需要输入的代码量,不需要使用模块名作为前缀。
>>> from math import sin
>>> sin(3)
0.1411200080598672
>>> from math import sin as f
>>> f(3)
0.1411200080598672
>>> from os.path import isfile
>>> isfile(r'C:\windows\notepad.exe')
True
3. from 模块名 import *
这是上面用法的一种极端情况,可以一次性导入模块通过__all__变量指定的所有对象。
但不推荐使用这种方法,一方面这样会降低代码的可读性,有时候很难区分自定义函数和从模块中导入的函数;另一方面,这一导入对象的方式会导致命名空间的混乱。如果有多个模块中有同名的对象,只有最后一个导入的对象是有效的。