文件存放结构如下
- test
- test1
- main1.py
- test2
- main.py
- test1
具体代码如下
# main1.py
from test2.main2 import fun1
print('1')
fun1()
if __name__ == '__main__':
print('2')
def fun2():
fun3()
def fun3():
print('6')
print('3')
fun1()
fun2()
# main2.py
def fun1():
print('5')
if __name__ == "__main__":
print('4')
fun1()
运行main.py输如下结果
5
1
5
2
3
5
6
可以看到函数在执行main1.py中import fun1时,会先将main2.py执行一遍,因此会先main2.py中的fun1(),但不会执行其中的main函数,然后按顺序执行main1.py
此外可以看到fun3虽然在fun2之后定义,但并不影响函数运行,但如果在main1.py中的main函数加入fun2,会提出error