7.0包、模块、函数与变量作用域

什么是包?

物理表现上包就是一个文件夹,和文件夹的唯一区别为:包是一个包含“__init__.py”模块的文件夹

包的命名规则:后期补充

__init__.py文件说明:

一般模块的命名空间为packagename.modulename,`__init.py`模块的命名空间不需要package_name.modele_name,而直接使用package_name表示

当包导入时,python将自动执行__init__.py文件(其实任意模块被导入,模块内的代码都将被自动执行)

__init__.py文件常用于包和模块的初始化 ,以及做共享导入

什么是模块?

一个.py文件即被称为一个模块

模块的命名规则后期补充

包、模块、类三者关系

一个包下可以包含多个模块,一个模块可以包含多个类

模块之间如何引用?

包和模块不会重复导入

导入包时应避免循环导入,否则会报错

一个模块被导入,该模块里的代码会自动执行,即使里面的方法并没用被手动调用

import导入:只能用于导入模块

案例一:导入同级模块

案例二:导入同级的子包下的模块

案例三:导入同级子包下的模块并赋予命名空间(即模块路径:package_name.module_name)别名

from import 方式:支持导入模块、变量、方法

案例一:导入模块

案例二:导入变量

案例三:导入多个变量

python希望一行代码不超过80字符,当import语句一行代码超过80字符可采用如下方式换行

方式一:使用\

方式二:使用()

案例四:导入被导入模块中所有暴露的变量

建议尽量少使用这个大而全的导入方式

案例五:共享导入

限制导出

模块限制可导出的变量:在模块里添加如下代码

包限制可导出的模块:在包下的__init__.py模块下添加如下代码

Last updated

Was this helpful?