problem je v tom, ze definujete arr jako tridni promennou, kterou si instance 
sdileji. Pokud chcete clenskou promennou je treba ji vytvorit takto:

class cSet:
    def __init__(self):
        self.arr = []

Zdravi 

Jiri Vit

---------- Original Message -----------
From: "msk.conf" <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thu, 8 Feb 2007 10:51:34 +0100
Subject: [python] Praca s polom, navedte ma na spravnu cestu

> Ahoj.
> 
> Ako dlhorocny programator c++ som sa rozhodol trosku zacat s 
> pythonom, ale som znacne konsternovany.
> 
> Uvediem priklad:
> 
> # definujem classu, obsahuje jedno pole ako member
> class cSet:
>       arr = []
> 
> # pole, kde uchovam niekolko cSet-ov
> list = []
> 
> # napln pole
> for i in range ( 3 ):
>       cset = cSet()
>       cset.arr.append ( "lama" + str ( i ) )
>       list.append(cset)
> 
> # vysledok
> for i in list:
>       print i.arr
> 
> Vypise to:
> ['lama0', 'lama1', 'lama2']
> ['lama0', 'lama1', 'lama2']
> ['lama0', 'lama1', 'lama2']
> 
> Namiesto:
> ['lama0']
> ['lama1']
> ['lama2']
> 
> Pride mi to ako dost podivne chovanie, predpokladam, ze to suvisi s 
> inym pristupom k referenciam na objekty, ako v c++ a ze na zaciatku 
> for cyklu sa nevyrvori ( z mne neznameho dovodu ) novy objekt typu 
> cSet a pouzije sa ten z predoslej alokacie.
> 
> Mozete mi to niekto vysvetlit?
> 
> Dik
> 
> -- 
> Dusan
> _______________________________________________
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
------- End of Original Message -------

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem