我是一个“老”的 Python 程序员(几年),但我对这种语言的类型提示原则相对较新。
因此,当我将项目的代码转换为使用类型提示时,我的 linter (flake8) 给了我一个我不明白的错误。这是代码示例和具体错误:
from models.models import MetahubModel
from typing import Tuple
class AttributeModel(MetahubModel):
...
@classmethod
def add_with_value(
cls, name: str, value_name: str
) -> Tuple[AttributeModel, AttributeValueModel]:
pass
class AttributeValueModel(MetahubModel):
...
来自 linter 的错误是这样的: F821:undefined name 'AttributeModel' F821:undefined name 'AttributeValueModel'
有人可以解释我为什么得到这个吗?类是正确定义的,不是吗?
谢谢您的帮助