python-3.7 - 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'
解决方案
推荐阅读
- javascript - 检测特定对象的库
- javascript - 如何将数组动态映射到异步或同步函数?
- javascript - 如何使用 onClick 从自定义 React 钩子 (API) 中获取数据并使用 TypeScript 将其显示在 Div 中?
- angular - Angular:12 - 进行“ng 测试”时,在初始化之前无法访问“AppComponent”
- c# - 在查看和编辑模式之间切换 ListDetailsView 中的 DetailsTemplate
- javascript - 仅在 Firefox 上获取请求失败,出现 404
- sql - 如何在 SQL 中过滤来自 2 个不同表的数据,但另一个表几乎没有要忽略的字符串?
- active-directory - 是否可以选择为子 OU 的管理员定义组策略?
- c# - Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”
- php - 如何为元框画廊创建简码