Hi all, I was going through the tutorial at http://docs.python.org/tut/node6.html when I came to the bit about default arguments with this code:
def f(a, L=[]): L.append(a) return L print f(1) print f(2) print f(3) returns: [1] [1, 2] [1, 2, 3] >From the postings here, I think I understand that this occurs because L is only initialized when f is first run. However, this code gives some different results: def f2(a, L=[]): if L == []: L = [] L.append(a) return L print f2(1) print f2(2) print f2(3) returns: [1] [2] [3] I'm not too clear on why this doesn't return the same results as the first. Can someone enlighten me? Thanks, Josh _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor