Python类自变量默认情况下没有给出参数错误[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

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

如果我想让我的函数按照我指定的方式运行,有没有办法解决这个问题?

python python-3.x class error-handling self
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.