-
项目的组织结构
包(文件夹)==》模块(文件)==》 类(class 包含函数 变量)
-
命名空间
包名.模块名
-
包的概念
- python包中必须包含_init_.py才能变成一个python包文件
- _init_.py这个文件会在导入模块的时候自动运行一次(定义在_init_.py里面的_all_是指定*中导入的指定模块)
-
import 导包
-
导入一个module时,会执行一遍这个module的代码
-
import module
之后调用的方法就是module.variables 和module.func -
import module as m 给导入的模块加一个nickname,调用就是m.variables和m.func
-
-
from...import...
- from module import var, func 使用的时候就是直接使用var func
- from module import* 导入模块的全部变量和函数(使用模块的内置变量_all_=[var,var,...]来定义*中导入的所有变量)
-
注意
- 包和模块是不会被重复导入的
- 避免循环导入
-
模块内置变量
- dir() 函数返回当前模块所有的变量名
- _name_ 当前模块的命名空间
- _package_ 当前模块的包名
- _file_ 当前模块完整的文件路径
- _doc_ 模块的注释
-
入口文件和普通模块的区别
- 当一个模块作为入口文件执行时,它的内置变量_name_ =="_main_" _package_ 不存在,因为入口文件决定了python的顶级包的位置
-
相对导入 绝对导入
- 顶级包和入口文件有关,入口文件在哪一层,那一层就是顶级包
- 从顶级包开始,包名.包名.包名.模块就是绝对导入
- 相对导入 .当前目录 ..上一级目录 ...上上级目录(在入口文件里面使用不了相对导入)
网友评论