我正在class
中编写Python3
,并希望在没有给出显式值时采用默认自变量的方法。出于某种原因,这似乎不起作用。
例如,以下代码会在第5行产生NameError: name 'self' is not defined
错误。
class A:
def __init__(self, a):
self.a = a
def func(self, b=self.a):
pass
如果我想让我的函数按照我指定的方式运行,是否可以解决这个问题?
答案 0 :(得分:0)
这可能是你想要的。
如果在没有参数的情况下调用func
,则b
将设置为self.a
的值。
class A:
def __init__(self, a):
self.a = a
def func(self, b=None):
if not b:
b = self.a
pass