Mutable default parameter values in Python
http://www.artfulcode.net/articles/mutable-default-parameter-values-python/In Python, everything is an object. Variables are technically names for references to objects. Therefore, when passing an argument to a function, what is in fact being passed is the value of the reference. This leads to some useful techniques.