包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。init.py 用于标识当前文件夹是一个包。
包的应用有以下两种形式:
import 模块名 模块名.xxx = 引用
导入模块时,会跳过私有属性
这种方法使得修改模块的属性后,引入该模块,修改依旧生效
print __name__ import math print math.__name__ math.__name__ = "hello" print math.__name__ import math print math.__name__
结果:
__main__ math hello hello
from 模块名 import * xxx = 拷贝 # 能修改属性值
通过引用可以访问私有属性
区别:
import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。
from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。
tips:if name == 'main’的意思是:当 .py 文件被直接运行时,if name == ‘main’ 之下的代码块将被运行; 当 .py 文件以模块形式被导入时,if name == 'main’之下的代码块不被运行
Python3记得把print后面的内容用()包起来。