如何在类成员变量的Python中自引用类(未知语法)?

时间:2014-02-16 20:40:07

标签: python-2.7

几年前我学习了Python,但我不知道如何将类称为self。

看我的问题:

class SomeClassReference(object):
  def __init__(self, reference):
    self.reference = reference

class MyClass(object):
  # MyClass is not defined - how to solve it?
  a = SomeClassReference(reference = MyClass)

是否可以在Python中进行这样的自我引用我需要使用哪种语法来使用初始化类成员。我经常使用Python,但不知道该怎么做?

2 个答案:

答案 0 :(得分:1)

class Point(object):
  ZERO = None
  def __init__(self, x, y):
    self.x = x
    self.y = y
Point.ZERO = Point(0,0)

类定义中的ZERO不是必需的,但我使用它是因为我的IDE无法找到代码完成的类变量。

答案 1 :(得分:0)

您可以尝试使用 setter方法setReference):

class SomeClassReference(object):
    def __init__(self):
        self.reference = None

class MyClass(object):
    def __init__(self):
        self.a = SomeClassReference()

    def setReference(self):
        self.a.reference = MyClass