[python] Praca s polom, navedte ma na spravnu cestu
msk.conf
msk.conf na seznam.cz
Čtvrtek Únor 8 10:51:34 CET 2007
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
Další informace o konferenci Python