当没有给出错误的参数时,Python类自变量为默认值

时间:2018-01-01 17:18:03

标签: python python-3.x class error-handling self

我正在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

如果我想让我的函数按照我指定的方式运行,是否可以解决这个问题?

1 个答案:

答案 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