用于自引用结构的python(3.7)数据类

时间:2018-08-15 16:05:00

标签: python-3.x python-3.7 python-dataclasses

随着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
>>>

关于自引用结构,我可能会误解数据类的概念。

是否可以在这种情况下使用数据类装饰器?或者我缺少一些重要的概念?

谢谢。

0 个答案:

没有答案