NameError:未定义名称'self'
为何如此结构
class A:
def __init__(self, a):
self.a = a
def p(self, b=self.a):
print b
给出错误 NameError: name 'self' is not defined
?
为何如此结构
class A:
def __init__(self, a):
self.a = a
def p(self, b=self.a):
print b
给出错误 NameError: name 'self' is not defined
?
2 years ago
默认参数值在函数define-time中计算,但
self
是仅在函数调用时可用的参数 . 因此,参数列表中的参数不能相互引用 .将参数默认为
None
并在代码中为其添加测试是一种常见模式: