On Wed, Oct 29, 2008 at 9:14 AM, Paulo J. Matos <pocm@ecs.soton .ac.ukwrote:
http://effbot.org/zone/default-values.htm explains this FAQ quite
well. Note that the "accumulati on" behavior of lists is considered an
aberration and is usually not desired.
Cheers,
Chris
--
Follow the path of the Iguana...
Hi all,
>
Going through the tutorial brought up a question. Consider the functions:
>
def f(a, L=[]):
L.append(a)
return L
>
print f(3)
print f(9)
print f(7)
>
def f1(i = 0):
i = i + 1
print i
>
f1()
f1()
f1()
f1()
>
Since the f accumulates the values in L, I was expecting to see i
printing 1,2,3,4 but this doesn't happen.
Can someone please explain why and what is going on beneath the veil?
>
Going through the tutorial brought up a question. Consider the functions:
>
def f(a, L=[]):
L.append(a)
return L
>
print f(3)
print f(9)
print f(7)
>
def f1(i = 0):
i = i + 1
print i
>
f1()
f1()
f1()
f1()
>
Since the f accumulates the values in L, I was expecting to see i
printing 1,2,3,4 but this doesn't happen.
Can someone please explain why and what is going on beneath the veil?
well. Note that the "accumulati on" behavior of lists is considered an
aberration and is usually not desired.
Cheers,
Chris
--
Follow the path of the Iguana...
>
Cheers,
>
--
Paulo Jorge Matos - pocmatos @ gmail.com
--
>
Cheers,
>
--
Paulo Jorge Matos - pocmatos @ gmail.com
--
>
Comment