我正在尝试定义一个具有自身实例作为类变量的类,因此我可以在整个地方引用它的公共实例.
我怎样才能得到这样的东西?
class Point(): ORIGIN = Point() def __init__(self, x=0, y=0): self.x = x self.y = y p0 = Point.ORIGIN p1 = Point(3,4) distance = (p1.x*p1.x + p1.y*p1.y) ** .5 print(distance)
mgilson.. 6
您可以在创建类后添加class属性:
class Point(): def __init__(self, x=0, y=0): self.x = x self.y = y Point.ORIGIN = Point()
你也可以让它工作,以便通过描述符懒惰地创建原点,或者你可以使用元类做一些时髦的东西 - 但这似乎不值得你花时间.
您可以在创建类后添加class属性:
class Point(): def __init__(self, x=0, y=0): self.x = x self.y = y Point.ORIGIN = Point()
你也可以让它工作,以便通过描述符懒惰地创建原点,或者你可以使用元类做一些时髦的东西 - 但这似乎不值得你花时间.