随着python数据类装饰器的最新介绍,编写模型类非常容易。
但是我不确定如何在自引用结构/模型类的上下文中使用-例如LinkedList的内部ListNode / Node模型类。
>>> from dataclasses import dataclass
>>> from typing import Type
>>>
>>> @dataclass
... class Node:
... data: int
... link: Node
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in Node
NameError: name 'Node' is not defined
>>>
>>>
>>> @dataclass
... class Node:
... data: int
... link: Type[Node] # have tried Type hinting
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in Node
NameError: name 'Node' is not defined
>>>
关于自引用结构,我可能会误解数据类的概念。
是否可以在这种情况下使用数据类装饰器?或者我缺少一些重要的概念?
谢谢。