首先来看一个例子:
importmathprint(math.pi)#输出3.141592653589793
上面的程序使用了import语句,import math的意思是从Python标准库中引入math.py模块,这是Python中定义的引入模块的方法
可以用如下方法引入多个模块:import math,time,sys
除了用import引入模块外,还有另一种方式引入模块,如:from math import pi
表示从math模块引入pi到当前命名空间,该语句不会将整个math模块导入,比如math模块中还有sin,exp函数,在这个语句中就使用不了,而在导入整个math模块的语句中可以使用
importmathprint(math.pi)print(math.sin(1))print(math.exp(2))
#输出:
3.141592653589793
0.8414709848078965
7.38905609893065
from math importpiprint(pi)print(sin(1))print(exp(1))
#输出
3.141592653589793
Traceback (most recent call last):
File "D:/practice/python program/practice2.py", line 7, in
print(sin(1))
NameError: name ‘sin‘ is not defined
由以上示例可以看出,如果导入整个模块,就会得到整个模块中的所有对象,如果导入指定的某个对象,就只能得到该对象
这样做有什么好处呢,看下面示例:
importmathprint(math.pi)print(pi)
#输出
3.141592653589793
Traceback (most recent call last):
File "D:/practice/python program/practice2.py", line 7, in
print(pi)
NameError: name ‘pi‘ is not defined
from math importpiprint(pi)
#输出
3.141592653589793
可以发现,如果在导入math模块时访问pi对象,需要使用math.pi,直接使用pi访问不了,会报错,但使用from math import pi 语句后,可以直接访问pi对象,不需要加上模块名进行访问
也可以用逗号分隔一次导入同一个模块的多个对象:from math import pi,sin,exp
还可以一次导入同一个模块的所有对象:from math import *不过不建议这样使用,不利于代码的清晰
还可以为模块取别名,如:import math as m
importmath as mprint(m.pi)
可见给模块取别名的方式为:在导出模块的语句末尾增加一个as语句,as后面跟上别名
也可以为函数取别名,如:from math import sin as s我们为sin函数取了别名s
原文地址:https://www.cnblogs.com/cjluchen/p/8961754.html