1、工程结构(包、模块)
区分目录与包:
如果有这个文件,就是一个包;若没有,那就是目录。
模块:xxxx.py文件
2、命名空间
函数里与全局变量同名的变量会变成局部变量
若要引用全局变量,则要对函数作出修改
局部命名空间:
全局命名空间:
locals()只读
globals()可读写
3、在python工程中导入模块
1)
2)
想要引入的模块名太长了
起别名
还有另一种导入方法(动态导入)
也可以:
from package import moudule
当这个package是层级包的时候,要写出父包。
4、导入变量
导入另外一个模块的某个变量,也可以起别名
也同样会执行被导入模块的代码
导入多个变量时,可以用括号括起来,换行。这样就不会报错。
也可以用*来导入所有的变量
5、init.py
- 用于标志所在的目录是一个模块包
- 它本身也是一个模块,也可以像别的模块一样去执行
- 可用于定义模糊导入时所导入的内容
- 导入包的时候,会执行_init_.py里面的内容
6、all
- 放在init里面时,会标志模糊导入时的模块
- 放在普通模块下,标识一个模块中,允许哪些属性被导入到其他模块下(模糊导入时)
7、name
显示当前模块在执行工程中的名称,如果当前程序是在这个模块里运行的,则这个模块就叫_main_
if name=="main"一般表示整个工程开始运行的入口
判断是否是在本模块中,若是,则输出……,否则,输出这个模块的名字