我想做这个:
class Circle:
all_circles = []
def __init__(self, rad):
self.rad = rad
self.__class__.all_circles.append(self)
Run Code Online (Sandbox Code Playgroud)
所以当我创建一个新的圆实例时,它会被添加到all_circle类变量中。
dataclass符号中做到这一点?我想复制顶部的代码,@dataclass但我无法在任何地方找到如何执行此操作,因为我无法访问 self.
就像是:
from dataclasses import dataclass
from typing import ClassVar
@dataclass
class Circle:
rad: int = 1
all_circles = ClassVar[list] = [] # after this I don't know how to get the self because it is not available
Run Code Online (Sandbox Code Playgroud)
但我找不到怎么做。