Hi Collin, > Here is a test program to demonstrate: > > -------------------------------- > #!/usr/bin/env python3 > > def function(arg1, arg2 = dict()): > arg2[arg1] = 0 > print(arg2) > > function('one') > function('two') > function('three') > -------------------------------- > > When executing the following is printed: > > {'one': 0} > {'one': 0, 'two': 0} > {'one': 0, 'two': 0, 'three': 0}
Oh, this is surprising. I would have expected that the default value expression gets evaluated each time, not once only. Thanks for the observation! Patch applied. Bruno