目录
-
- 一、使用方法:
- 二、样例说明:
- 三、样例结果
- 四、总结
-
- import可以理解为将指定代码复制到主文件中
- 1.1 from [package] import [modual]:先将package包的\_\_init__.py文件的全部代码复制到主文件中,再将modual文件的全部代码复制到主文件中
- 1.2 from [package] import *:先将该语句改写成 from [package] import a,b,c... 。a,b,c...为package包的\_\_init__.py文件中__all__列表中的所有模块,再重复1.1,复制\_\_init__.py文件再复制各模块文件
- 1.3 from [package.modual] import [类|方法|变量]:先将package包的\_\_init__.py文件的全部代码复制到主文件中,再将指定模块中指定的类、方法或变量的定义代码复制到主文件中
- 1.4 from [package.modual] import *:先将package包的\_\_init__.py文件的全部代码复制到主文件中,再将modual文件的全部代码复制到主文件中
- 2.1 import [package]:只将package包的\_\_init__.py文件的全部代码复制到主文件中
- 2.2 import [package.modual]:先将package包的\_\_init__.py文件的全部代码复制到主文件中,再将modual文件的全部代码复制到主文件中
一、使用方法:
package:一个包,即一个文件夹。modual:一个模块,即一个py文件
每个package下必须有一个__init__.py文件,该文件下可定义一个__all__列表,该列表元素为模块名
- from A import B
1.1 from [package] import [modual]:导入包中的指定模块
1.2 from [package] import *:导入包中__all__列表中的所有模块
1.3 from [package.modual] import [类|方法|变量]:导入指定模块中指定的类、方法或变量
1.4 from [package.modual] import *:导入指定模块中所有的类、方法、变量等 - import A
2.1 import [package]:执行__init__.py,但不会自动导入__all__列表中的模块
2.2 import [package.modual]:导入包中的指定模块
后面都可接上 as C,用来替代被导入的模块|类|变量等的名称,之后使用时必须使用C
二、样例说明:
在test目录下建立结构如下的package
test/
| -- package/
| | -- __init__.py
| | -- util1.py
| | -- util2.py
|
| -- main.py
各python文件内容如下:
- test/package/__init__.py
print('this is a package __init__.py')
__all__ = ["util1"]
- test/package/util1.py
print('this is a modual util1.py')
A = 1
- test/package/util2.py
print('this is a modual ut