gpt4 book ai didi

python-2.7 - 嵌套类本身没有定义

转载 作者:行者123 更新时间:2023-12-01 01:00:04 24 4
gpt4 key购买 nike

以下代码成功打印 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: global name 'B' is not defined
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()

请参阅 Python Scopes and Namespaces 上的文档.

关于python-2.7 - 嵌套类本身没有定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18341914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com