[Tutor] newbie question about default arguments
jadams at iastate.edu
Wed Mar 29 20:21:29 CEST 2006
Thanks for your help. That makes a lot more sense.
Not to ask too many stupid questions, but why does the L2 assignment in the
if-block create a new L variable? Shouldn't the scope from the function
definition dominate the inner scope of the if-block?
> If you print the id() of your L inside your f2(), you will notice something..
> In short, the default value stays the same; what you modified was another
> copy of . Hope it helps.
> def f2(a, L=):
> print "id(L) = ", id(L)
> if L==:
> print "id(L2) =", id(L)
> return L
> >>> print f2(1)
> id(L)= 11788336
> id(L2)= 12047184
More information about the Tutor