[python] odpověďRe: Python a ukazatele
martin jirasek
jertin na seznam.cz
Čtvrtek Leden 15 23:33:56 CET 2009
Nezamotal! Naopak velmi děkuji.
Věta: (to byva pro zacinajici pythonisty prekvapujici) opravdu platí i na mne.
Děkuji moc
< ------------ Původní zpráva ------------
< Od: Jirka Vejrazka <jirka.vejrazka na gmail.com>
< Předmět: Re: [python] Python a ukazatele
< Datum: 15.1.2009 21:55:28
< ----------------------------------------
< Ahoj,
<
< ukazatele v Pythonu opravdu nejsou potreba, to se vyresi tak nejak
< samo. V tehle oblasti je dulezite porozumet tomu, co jsou "mutable" a
< "immutable" typy (nebudu zkouset to prekladat). Dulezite je to jak se
< chovaji pri zmene.
< - mutable typy se zmeni na miste, tj. "pointer" na objekt zustane
< stejny, ale zmeni se objekt (pro ty, kdo prichazeji z jazyku s
< pointery) - prikladem je treba list
< - immutable typy - pri zmene se vyrobi kopie puvodniho objeku "jinde
< v pameti", "pointer" se presmeruje na ni a puvodni verze se zapomene.
< Prikladem je typ int nebo treba string (to byva pro zacinajici
< pythonisty prekvapujici)
<
< Priklad (immutable)
< >>> a = 1
< >>> b = a
< >>> a is b
< True <- "stejne pointery"
< >>> a = 2
< >>> a is b
< False <- po zmene je "pointer na a" jiny
<
< (mutable)
< >>> c = [1, 2]
< >>> d = c
< >>> c is d
< True <- zase "stejne pointery"
< >>> c.append(3)
< >>> c
< [1, 2, 3]
< >>> d
< [1, 2, 3]
< >>> c is d
< True <- "mutable" objekt se zmenil, ale zustal v pameti na svem miste
< a "c" i "d" stale ukazuji na stejne misto
< >>>
<
< Snad jsem to jeste vic nezamotal.
<
< Jirka
< _______________________________________________
< Python mailing list
< Python na py.cz
< http://www.py.cz/mailman/listinfo/python
<
<
<
Další informace o konferenci Python