我正在学习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