嵌套类变量python

嵌套类变量python,python,nested-class,Python,Nested Class,我试图在内部类中分配一个变量,而在外部类中分配一个变量 class OUTER(QtGui.QWidget): def __init__(self): super (OUTER, self).__init__() self.initUI() def number (self): self.out = 50 ... class INNER(QtGui.QLCDNumber) in =

我试图在内部类中分配一个变量,而在外部类中分配一个变量

class OUTER(QtGui.QWidget):
    def __init__(self):        
        super (OUTER, self).__init__()
        self.initUI()
    def number (self):
        self.out = 50
    ...

    class INNER(QtGui.QLCDNumber)
        in = OUTER.out  #error: NameError: name 'OUTER' is not defined

        @pyqtSlot()
        def some_func(self):
            self.display(self.in)
我犯了个错误

NameError: name 'OUTER' is not defined.  
有没有办法解决这个问题?

你不能这样做

在完成整个外部类声明之前,不会定义外部类。类主体是可执行代码;它们在定义时执行。定义主体时,会将其分配给名称,但在此之前,名称不存在

这就是为什么在Python中嵌套类很少是个好主意的原因之一。内部类对外部类没有任何特殊的访问权限,因此根本没有理由嵌套它们


另外,我刚刚注意到您正试图通过类引用实例变量。那是行不通的
OUTER.out
不存在,只有
OUTER
的实例具有
out
属性。(如果
OUTER.out
的值是多少?

我正在尝试在我的内部类中分配一个变量,而在外部类中分配一个变量。。。。好啊请continue@BhargavRao错误在这一行:
in=OUTER.out#错误:name错误:未定义名称“OUTER”
。谢谢。现在有意义了