数据类是否支持指针?
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
。通常很少需要自己动手,尤其是像链表这样需要大量管理的东西。
有没有办法添加指向数据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
。通常很少需要自己动手,尤其是像链表这样需要大量管理的东西。