先给出包结构:
Class_1.py内容:
from main.sub_2.Class_2 import Class_2
class Class_1:
def show(self):
print("this is class_1.show()")
cls2 = Class_2();
cls2.show()
Module_1.py内容:
from main.sub_2 import Module_2
def show():
print("this is module_1.show()")
Module_2.show()
Class_2.py
class Class_2:
def show(self):
print("this is class_2.show()")
Module_2.py内容:
def show():
print("this is module_2.show()")
run.py内容:
from main.sub_1.Class_1 import Class_1
from main.sub_1 import Module_1
if(__name__ == "__main__"):
cls1 = Class_1()
cls1.show()
Module_1.show()
Python中的package必须包含一个__init__.py的文件,__init__.py可以为空,只要它存在,就表明此目录应被作为一个package处理。
需要注意的一点是类和普通的代码片段(函数和变量)模块的引入是有区别的:
1、如果是类,像from main.sub_2.Class_2 import Class_2这样引入
2、如果是代码片段(函数和变量),像from main.sub_2 import Module_2这样引入,也可以一次引入多个模块
from main.sub_2 import Module_2,Module_x
前提是M
odule_2个Module_x是在同一个包下