scope of optional arguments
If I call print walk([1,2,3], []) print walk([5,6,7]) I get [1, 2, 3] [4, 5, 6] but when I call print walk([1,2,3]) print walk([5,6,7]) I get [1, 2, 3] [1, 2, 3, 4, 5, 6] at stdout, where def walk(seq, result = []): for item in seq: result.append(item) return result Does that mean that the scope of optional arguments is global if they aren't used and local if they are (or am I missing something here)? Regards, CS -- http://mail.python.org/mailman/listinfo/python-list
Re: scope of optional arguments
Whoops, I meant to call print walk([1,2,3], []) print walk([4,5,6]) and print walk([1,2,3]) print walk([4,5,6]) with def walk(seq, result = []): for item in seq: result.append(item) return result The question is still the same: Why do both calls give different results? Thank you very much for reading, I'm sorry for the inconvenience. -- http://mail.python.org/mailman/listinfo/python-list
Re: scope of optional arguments
Thank you very much for your fast and usefull response, Steven. Have a nice day. -- http://mail.python.org/mailman/listinfo/python-list