我正在尝试定义一个具有自身实例作为类变量的类,因此我可以在整个地方引用它的公共实例.
我怎样才能得到这样的东西?
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)
Run Code Online (Sandbox Code Playgroud)
您可以在创建类后添加class属性:
class Point():
def __init__(self, x=0, y=0):
self.x = x
self.y = y
Point.ORIGIN = Point()
Run Code Online (Sandbox Code Playgroud)
你也可以让它工作,以便通过描述符懒惰地创建原点,或者你可以使用元类做一些时髦的东西 - 但这似乎不值得你花时间.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |