Python 2.7 嵌套类本身没有定义

Python 2.7 嵌套类本身没有定义,python-2.7,nested-class,Python 2.7,Nested Class,以下代码成功打印OK: class B(object): def __init__(self): super(B, self).__init__() print 'OK' class A(object): def __init__(self): self.B() B = B A() 但是下面的操作应该与上面的操作相同,这会引发NameError:未定义全局名称“B” class A(object

以下代码成功打印
OK

class B(object):
        def __init__(self):
            super(B, self).__init__()
            print 'OK'

class A(object):
    def __init__(self):
       self.B()

    B = B

A()
但是下面的操作应该与上面的操作相同,这会引发
NameError:未定义全局名称“B”

class A(object):
    def __init__(self):
       self.B()

    class B(object):
        def __init__(self):
            super(B, self).__init__()
            print 'OK'
A()

为什么?

B
可在
A
类-使用
A.B
的范围内找到:

class A(object):
    def __init__(self):
       self.B()

    class B(object):
        def __init__(self):
            super(A.B, self).__init__()
            print 'OK'

A()
请参阅有关的文档