On Sat, 09 May 2015 03:49:36 +1000, Chris Angelico wrote: > Yes, but can you *distinguish* them in terms of default argument versus > code object creation? How do you know that the function's code object > was created when compile() happened, rather than being created when the > function was defined? Is there anything that lets you in any way show > different behaviour based on that timing difference?
This might show that default objects are fixed at run time: Python 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a = [] >>> def b (arr=a): ... arr.append ('c') ... >>> print repr(a) [] >>> b() >>> print repr(a) ['c'] >>> b() >>> print repr(a) ['c', 'c'] >>> -- https://mail.python.org/mailman/listinfo/python-list