首页 > 解决方案 > Python3.7.6 中循环导入的行为

问题描述

我知道这是一个挑剔的问题,但我需要知道它是如何工作的(我使用的是 Python 3.7.6):
我故意包含了一个循环循环。
我需要知道的是:
1.为什么它只循环两次然后停止执行?
2. 为什么 ify=1交替放置在error(*) 中 的import语句被抛出之后?app.py

├── app
│   ├── another.py
│   └── app.py
└── main.py

主要.py

from app.app import y
from app.another import *
print("at main.py printing y: ", y)
print("at main.py printing z: ", z)
x = 1

应用程序.py

y = 1
from main import *
print("at app.py printing z: ", z)
print("at app.py printing x: ", x)

另一个.py

z = 3

输出是:

at main.py printing y:  1
at main.py printing z:  3
at app.py printing z:  3
at app.py printing x:  1
at main.py printing y:  1
at main.py printing z:  3

错误:(y=1在导入后放置时)

ImportError: cannot import name 'y' from 'app.app'

标签: python-3.7

解决方案


推荐阅读