有没有办法在python中的嵌套类中访问外部类?

时间:2011-07-27 20:10:48

标签: python nested-class

只是一个非常简单的事情,有没有办法从内部类定义访问外部类,如下所示:

class Model:
  class Options:
    model = Model   <-- error!

我在模型中嵌套选项,因为语义上这些选项只存在于模型范围内,所以看起来是合适的。

谢谢, 亚历

4 个答案:

答案 0 :(得分:2)

我不确定这正是你想要的但是尝试:

class Model:
    class Option:
        @property
        def model(self): return Model

答案 1 :(得分:1)

好吧,你至少可以在内部类的方法中实例化外部类:

class Model:
    class Options:
        def __init__(self):
            model = Model()

答案 2 :(得分:1)

尝试:

class Model:
    pass

class Options:
    model = Model

答案 3 :(得分:0)

另一种解决方案是在类定义之后进行赋值。

class Model:
  class Options:
    pass

Model.Options.model = Model