class A:
def __init__(self, a):
self.a = a
def p(self, b=self.a):
print b
在学习的时候,写了以上代码,报了如下的错误
NameError: name 'self' is not defined
上网搜了搜原因,赶紧记录下来:
默认参数值在函数定义时评估,但是self是仅在函数调用时可用的参数。 因此,参数列表中的参数不能相互引用。
将参数默认设置为None并在代码中为此添加测试是一种常见的模式:
def p(self, b=None):
if b is None:
b = self.a
print b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)