import的使用
举例:
#coding:utf-8
import math
r=5
print("半径是5的圆面积是:%.2f"%(math.pi*r**2))
import math的意思为从Python标准库中引入math.py模块,这是Python中定义的引入模块的方法。
import的标准语法如下:import module1[, module2[,… moduleN]]表示允许一个import导入多个模块,但各个模块间需要用逗号隔开。
当我们使用import语句时,Python解释器怎样找到对应的文件呢?这涉及Python的搜索路径,搜索路径由一系列目录名组成,Python解释器会依次从这些目录中寻找引入的模块。看起来很像环境变量,事实上可以通过定义环境变量的方式确定搜索路径。搜索路径是在Python编译或安装时确定的,被存储在sys模块的path变量中。查看搜索路径的方式如下:
import sys
print('python的搜索路径为:%s'% sys.path)
执行结果如下:
python的搜索路径为:['D:\\protect\\python\\python_interface', 'D:\\protect\\python', 'D:\\Python36\\python36.zip', 'D:\\Python36\\DLLs', 'D:\\Python36\\lib', 'D:\\Python36', 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages', 'D:\\Python36\\lib\\site-packages', 'D:\\Python36\\lib\\site-packages\\win32', 'D:\\Python36\\lib\\site-packages\\win32\\lib', 'D:\\Python36\\lib\\site-packages\\Pythonwin']
由以上输出结果看到,sys.path输出了一个列表,第一项输出的是执行文件所在的目录,即我们执行Python解释器的目录(如果是脚本,就是运行脚本所在的目录)。
除了用import引入模块外,还有另一种方式引入模块,先看交互模式下输入的示例:
from math import pi
print(pi)
在Python中,from语句可以从模块中导入指定部分到当前命名空间中,语法如下:from modname import name1[, name2[, … nameN]]例如,from math import pi语句就是从math模块中导入pi到当前命名空间,该语句不会将math整个模块导入。比如在math模块中还有sin、exp函数,在这个语句里这两个函数都使用不了,而在导入整个math模块的语句中可以使用。
这样做的好处是什么呢?先看如下示例:
导入模块、模块中部分函数的区别
由上面的输出结果可知,如果在导入math模块时访问pi对象,需要使用math.pi,直接使用pi访问不了,会报错。使用import语句后,可以直接访问pi对象,不需要加上模块名进行访问。
可以从一个导入语句导入多个函数,多个函数之间用逗号分割。比如:
from math import pi,sin
如果要访问模块中多个对象,是否需要一个一个导入呢?当然不用,可以直接使用如下语句:
from math import *
这是一个简单地将项目中所有模块都导入的方法。在实际开发中,这种声明不建议过多使用,这样不利于编写清晰、简单的代码。只有想从给定模块导入所有功能时才使用这种方式。
除了上述几种方式外,还可以为模块取别名,例如:
模块取别名
既然可以为模块取别名,当然也可以为函数取别名,例如:
函数取名