python - 导入类只是为了输入python?

标签 python python-import python-typing

我正在尝试在 Python 3.8 中使用输入,但我有点卡住了。
例子:我主要在main.py开发.我也有课util.py包含一些辅助函数和类。但是这些类也需要从main.py导入类用于打字。现在,当我想使用来自 util.py 的函数时在 main.py我还需要导入它 - 但是由于循环导入(这是正确的),我会得到一个错误。
有没有解决的办法?
提前致谢!

最佳答案

循环导入在 Python 中并不是一个直接的错误;如果您以特定方式使用它们,它们只是一个错误。我相信您正在寻找 forward references
示例 main.py :

import util

class SomeClass:
    pass
示例 util.py
import main

# We can't use main.SomeClass in the type signature because of the cycle,
# but we can forward reference it, which the type system understands.
def make_some_class() -> "main.SomeClass":
    return main.SomeClass()

关于python - 导入类只是为了输入python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66987434/

相关文章:

python - 如何按多对多相关对象值对查询集进行排序?

python - Py2Exe + FTDI 驱动程序

python - 有效同目录导入时出现 PyCharm 错误

python - 在 Pycharm 中对类装饰属性进行类型检查

python - 使用 python 的 Firestore 身份验证电话和电子邮件 OTP

python - 什么是兄弟进口?

python - Mypy 方法定义与基类中的定义不兼容

python - 返回类实例的抽象类方法的键入提示

python - 对象没有属性显示