![](https://secure.gravatar.com/avatar/4ad94fe55232b9823bf2fa85c8d7b2c4.jpg?s=120&d=mm&r=g)
25 May
2013
25 May
'13
12:38 p.m.
On Sat, 25 May 2013 20:23:01 +0200 Michael Ströder <michael@stroeder.com> wrote:
Thomas Lehmann wrote:
def foo(var = {}):
Ohne jetzt genau auf die Frage einzugehen, was andere ja schon gemacht haben:
Ist ein mutable Default-Wert für ein key-word argument nicht ein absolutes no-go? Zumindestens musste ich das selbst mal auf die harte Tour lernen und vor allem kann es je nachdem sicherheitsrelevant werden.
Besser wäre
def foo(var = None): var = var or {} [..]
Dann wird nämlich jedes Mal eine neue Dictionary-Instanz erzeugt, falls nur foo() aufgerufen wird.
Oha, wenn man darüber nachdenkt, fällt es einem wie Schuppen aus den Haaren.