数据类是否支持指针?

Do dataclasses support pointers?

有没有办法添加指向数据class结构的指针?

from dataclasses import dataclass

@dataclass
class Point:
     x: int
     y: int
     pointer: pointer  # Here

假设 pointer 是 class,当然,没有任何限制。

@dataclass
class Point:
  x: int
  y: int
  pointer: pointer

如果您不知道(或不关心)具体类型,您总是可以使用 Any 作为类型。 Dataclass真的只关心数值

from typing import Any

@dataclass
class Point:
  x: int
  y: int
  pointer: Any

现在 pointer 是数据中的一个字段class,它可以包含任何内容。

如果你想创建一个 Point 对象的单链表,那么你可以这样做

from dataclasses import dataclass

@dataclass
class Point:
     x: int
     y: int
     next: 'Point' = None

然后你可以这样做,例如:

a = Point(1, 1)
b = Point(4, 5)
a.next = b

不过,除非您对链表有特定需求,否则我建议使用标准 Python 数据类型之一,例如 list。通常很少需要自己动手,尤其是像链表这样需要大量管理的东西。