模块和包
模块
Python会将所有 .py
结尾的文件认定为Python代码文件,一个完整的python文件就是一个模块。
操作 | Detail |
---|---|
%run ex1.py |
把脚本当作一个模块执行 |
import ex1 |
加载并执行,ex1.py 中所有的变量都被载入了当前环境中 |
ex1.变量名 |
查看或修改变量 |
ex1.函数名 |
用模块里面的函数 |
reload(ex1) |
已经载入的模块再次载入时,Python并不会真正执行载入操作,哪怕模块的内容已经改变。 需要重新导入模块时,可以使用reload强制重新载入它 |
os.remove('ex1.py') |
删除之前生成的文件 |
包
一个有层次的文件和目录结构,定义了一个由模块和自爆组成的Python应用程序环境,
例如:from AAA.CCC.c1 import func1
, AAA为模块名,CCC为包名,c1为子包名
name属性
想一个.py
文件既当脚本又当模块用,用 __name__
这个属性。只有当文件被当作脚本执行的时候,__name__
的值才会是 __main__
,
%%writefile ex2.py
PI = 3.1416
def add(x, y): ...
def test(): ...
if __name__ == '__main__':
test()
%run ex2.py
import ex2 as e2
e2.PI #当作模块导入,test() 不会执行, 但是可以使用其中的变量