class Klass(object):
def a(self, d={}):
print d
self.b(d)
def b(self, d={}):
import random
print d
d[str(random.random())] = random.random()
我假设每次我c.a()
不带参数地打电话,我都会得到一个新的 empty dict
。然而,这就是实际发生的情况:
>>> c = Klass()
>>> c.a()
{}
{}
>>> c.a()
{'0.637151613258': 0.61491180520119226}
{'0.637151613258': 0.61491180520119226}
>>> c.a()
{'0.637151613258': 0.61491180520119226, '0.960051474644': 0.54702415744398669}
{'0.637151613258': 0.61491180520119226, '0.960051474644': 0.54702415744398669}
...
我真的不想做某种lambda
/iscallable
事情。在这里使用什么好的模式?
当然,当我开始输入问题时,我发现我解决了这个问题。但是,如果有人对此有不同的宠物方式,我很想听听。