工程的组织结构
包 》模块 》类 》函数,变量
包与模块
包从物理意义上来说就是文件夹(文件夹下面需要包含__init__.py)
模块就是.py文件
导入模块
相对应的目录结构~就不贴图了
1 | # python文件夹下demo.py文件 |
1 | # import python.dome as ti |
__init__.py的使用
每个包文件夹下都有一个__init__.py文件
__init__.py文件
1 | # 导入包时的必定的首次执行 |
使用文件
1 | # 导包必定执行 __init__.py |
包和模块的常见错误
包和模块是不会被重复导入
避免循环导入
导入模块的时候,所导入的模块会执行一遍代码
模块的内置变量
双下划线变量,系统内置
1 | # 打印当前模块的所有变量 |
常用的系统内置变量
__name__ 非入口文件:包名+模块名 入口文件:__main__
__package__ 非入口文件:包名 入口文件:无
__doc__ 模块的文档说明
__file__ 入口文件:磁盘上的绝对路径 非入口文件:当前文件名
1 | # 入口文件 |
1 | # 非入口文件 |
1 | # 非入口文件 |
相对导入
相对导入(子模块引入时可用 . .. …) 入口文件不能使用
绝对导入
绝对导入(以入口文件为顶级目录)
变量的作用域
1 | a = 2 |
for循环不算单独的作用域
1 | b = {1,2,3} |
global使变量升级为全局变量
1 | def temp3(): |