模块
python的脚本文件都是以扩展名为py的文本文件保存的,一个脚本可以单独运行也可以导入到另一个脚本中运行。当脚本被导入运行时,被导入的文件就被称为模块。因此,模块名与脚本的文件名相同。
安装
参考廖雪峰安装第三方模块。
import
导入相应的模块,与java中的import关键字类似,但python会在导入时会将被导入模块中的所有代码都执行一遍。如:
print("fdasf")
import p2 # 这句话会将p2模块中的所有代码执行一遍,跟通过命令行python p2执行p2是一样的效果
print("-1")
可以通过"模块名.方法法"的形式调用导入模块中的方法。如:
import p2
print(p2.f(22))
在p2中定义了f方法,就可以直接使用p2.f调用相应的方法。
在默认情况下,python会搜索当前目录、已安装的内置模块和第三方模块,搜索的路径存储在sys模块下的path中。
导入顺序
首先在当前文件夹中寻找要导入的模块。
然后到python系统目录下寻找要导入的模块。
包
在python中一个文件可以被看成一个独立模块,而包对应着文件夹,模块把python代码分成一些有组织的代码段,通过导入的方式实现代码重用。
将有关系的模块放在同一个文件夹下,并且在该文件夹中建立一个__init__.py文件(可以为空),就组成一个包。
使用时通过"包名.模块名"进行使用。如pack文件夹下有如下三个文件:
使用方法如下:
import pack.p2,pack.p22 # 导入pack包下的两个模块
print(pack.p2.add(3,5)) # 引用对应模块中的方法
print(pack.p22.fun(3,5))
内置属性
每一个模块都有一些内置属性。
__name__:当前模块名。如果是直接运行该模块,其值为__main__;如果通过导入运行的,属性值就是模块名。因此可以通过__name__属性判断该模块是直接运行还是被导入运行的,对于一些不需要在导入运行时执行的,就需要添加__name__=="__main"__判断。p2.py如下:
if __name__=='__main__':
print("不是import的")
else:
print("是import的")
运行结果为: