[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