Slide 23
Slide 23 text
|| MUTABLE VS. IMMUTABLE OBJECTS || PYCON ES 2015 || PABLO ENFEDAQUE VIDAL || @pablitoev56 ||
again, object created at import time
>>> def accum_power(x, y, accum=[]):
... accum.append(x ** y)
... return accum
...
>>> accum = accum_power(2, 3)
>>> accum = accum_power(2, 4, accum)
>>> print id(accum), accum
4405203672 [8, 16]
>>> accum3 = accum_power(3, 3)
>>> accum3 = accum_power(3, 4, accum3)
>>> print id(accum3), accum3
4405203672 [8, 16, 27, 81]
>>> print id(accum_power.func_defaults[0])
4405203672 # func_defaults contains argument's default value
>>> print accum_power.func_defaults[0]
[8, 16, 27, 81]