1.包是什么?
包:(文件夹)
package
python3中可以不使用__init__.py模块
__init__.py 初始化
python2中一定要有
2.如何创建一个包
new->package
直接创建一个文件夹
3.包的作用
1.方便管理
2.不同的包中,允许存在同名类
4.如何引入指定包中的指定模块
import package1.Test00
from package1.Test00 import *
引入某个包中的任何一个模块,该包中的__init__.py会先执行
在init中一般执行导入当前包里的其他模块
package1中__init__.py中的代码
print("package1初始化") # from .Test00 import *
测试代码
# import package1.Test00 # print(package1.Test00.PI) # NameError: name 'package1' is not defined # from package1.Test00 import * # AttributeError: module 'package1' has no attribute 'Test00' # import package1 # print(package1.Test00.PI) # 这种写法是正确的,不报错 # from package2 import Test00 # from package1 import Test00 # print(Test00.PI) # 在__init__.py添加了from .Test00 import * #使用以下两种方式: # 所有内容(函数、变量...)在demo3.py中 # 下面这行代码的意思是:当前demo3.py中导入package1中的所有模块, # 而在__init__.py中又将当前包下的所有模块中内容给导入到指定模块,所以demo3.py中就有了package1中的所有模块中的所有内容(函数、变量...) # package1包下的[Test00.py中的内容,Test01.py中的内容]-->package1包下的[Test00.py模块,Test01.py模块]-->demo3.py # from package1 import * # print(PI) # 所有内容(函数、变量...)在demo3.py的package1包中 # 下面这行代码的意思是:当前demo3.py中导入package1这一个包 # 而在__init__.py中又将当前包下的所有模块中内容给导入到指定模块,所以package1包中就有了package1中的所有模块中的所有内容(函数、变量...) # package1包下的[Test00.py中的内容,Test01.py中的内容]-->package1包下的[Test00.py模块,Test01.py模块]-->demo3.py的包package1 # import package1 # print(package1.PI)
相关的一个目录结构
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有