lists: += vs. .append() & oddness with scope of variables

Felipe Almeida Lessa felipe.lessa at gmail.com
Sun Mar 5 06:57:33 EST 2006


Em Dom, 2006-03-05 às 11:49 +0000, Sandro Dentella escreveu:
> class foo(object): 
> 
>     def __init__(self):
>         print "a: ", a
>         # += does not work if 'a' is global
>         #a += [1]
>         a.append(2)
>         print "a= ", a 

Try with:
a = [0]

class foo(object): 
    def __init__(self):
	global a
        print "a: ", a
        a += [1]
        a.append(2)
        print "a= ", a

foo()

-- 
"Quem excele em empregar a força militar subjulga os exércitos dos
outros povos sem travar batalha, toma cidades fortificadas dos outros
povos sem as atacar e destrói os estados dos outros povos sem lutas
prolongadas. Deve lutar sob o Céu com o propósito primordial da
'preservação'. Desse modo suas armas não se embotarão, e os ganhos
poderão ser preservados. Essa é a estratégia para planejar ofensivas."

  -- Sun Tzu, em "A arte da guerra"




More information about the Python-list mailing list