未解析对类构造函数中的类的引用-类型注释

时间:2019-09-28 17:39:26

标签: python

我正在学习Python,我想编写一个模块来处理一些数据文件。我正在使用类型注释,并且我想编写一个类(例如MyData),该类在实例化时使用类型为MyData的可选参数。这是为了将新数据的结构与先前加载的数据进行比较。但是,当我运行代码时,出现了NameError(如下所示)。 PyCharm会在“ __init__”函数中突出显示“ MyData”,并显示一条消息“未解析的引用'MyData'。

肯定是我犯错了。你能告诉我发生了什么事吗?我什至不知道如何恰当地提出问题来问G叔叔。

预先感谢您的帮助。

from typing import Optional

class MyData():
    def __init__(self, file_path: str, reference_data: Optional[MyData] = None):
        self.file_path = file_path
        self.reference_data = reference_data
        self.validate_data()

    def validate_data(self):
        # do some stuff with the data and check whether it has
        # similar structure to the reference_data
        pass
Traceback (most recent call last):
  File "some/path/somecode.py", line 4, in <module>
    class MyData():
  File "some/path/somecode.py", line 5, in MyData
    def __init__(self, file_path: str, reference_data: Optional[MyData] = None):
NameError: name 'MyData' is not defined

0 个答案:

没有答案