我想知道在python中达到此目的最干净的方法是什么
class A():
def __init__(self, def_val):
self.def_val=def_val
def ciao(self, parameter=self.def_val):
print(parameter)
当然上面的内容给了我: “ NameError:未定义名称'self'”
答案 0 :(得分:2)
我认为解决方案是这样的:
class A():
def __init__(self,def_val):
self.def_val=def_val
def ciao(self, parameter=None):
if parameter is None: parameter = self.def_val
print(parameter)
它有效,并且可能是最Python化的方式
In [1]: a=A("Hi")
In [2]: a.ciao("ehi")
Out [2]: 'ehi'
In [3]: a.ciao()
Out [3]: 'Hi'