我有这样的事情(我知道这段代码行不通,但它更接近我想要实现的目标):
class A:
def __init__(self):
self.a = 'a'
def method(self, a=self.a):
print a
myClass = A()
myClass.method('b') # print b
myClass.method() # print a
到目前为止我所做的但我不喜欢的是:
class A:
def __init__(self):
self.a = 'a'
def method(self, a=None):
if a is None:
a = self.a
print a
myClass = A()
myClass.method('b') # print b
myClass.method() # print a
请您参考如下方法:
默认参数在定义时 计算。当类和方法被定义时 self.a 不是。
您的工作代码示例实际上是实现此行为的唯一干净方式。
