
Python Oddness - kirubakaran
http://jimmyg.org/2008/06/16/python-odness/
======
makecheck
There is another reason to avoid the defaulting trap that is the subject of
the article: you don't want something evaluated if it will never be used.

Python _always_ evaluates the default values of arguments; this is done at
parsing time. So if you define a function f(a=x()) and never call f(), there
will still be a call to x().

The first work-around mentioned in the article (to assign None as a value, and
test for None before setting a default), is the approach that I prefer when
the default value is non-trivial.

