一。包
包可以简单的理解为必须包含了一个__init__.py模块的文件夹。 包的出现往往与实际项目的开发有着密切的关系。 例如在一个大型项目中。如果将所有的模块全部堆放在一个文件夹里显然不是一个明智的选择。 模块可以有效的避免类名。函数名。变量名等的冲突。 包的出现同样也解决模块名相同的问题。
- 一个包下必须包含一个__init__.py的模块。
- __init__.py可以是一个空模块也可以包含一些初始化的代码
- __init__.py的作用是告诉python将此文件夹当成一个包来处理
- __init__.py模块的模块名不是__init__而且__init__.py模块在的包名
二。创建包的步骤
- 创建一个文件夹
- 在文件夹下创建一个__init__.py的模块
创建完包后可以向包中添加若干模块
分别在模块添加对应的代码
三。包的导入
假设文件结构是这样的的
1) import 包名[.模块名 [as 别名]]
- import直接导入 这种方法在使用其中的成员时必须要用包名.模块名作为前缀
import obj.demo
obj.demo.run()
运动
- import使用别名导入 这种方法在使用成员时要使用别名作为前缀
import obj.demo as a
a.run()
运动
2) from 包名 import 模块名 [as 别名]
- from...import导入 此方法在使用模块成员时其前缀为模块名
from obj import demo
demo.run()
运动
- from...import别名导入
from obj import demo as a
a.run()
运动
3) from 包名.模块名 import 成员名 [as 别名]
- from...import导入模块成员
from obj.demo import run
run()
运动
- from...import别名导入成员
from obj.demo import run as a
a()
运动