这个问题在这里已有答案:
我在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
如果我想让我的函数按照我指定的方式运行,有没有办法解决这个问题?
这可能就是你想要的。
如果在没有参数的情况下调用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