home contents changes options help subscribe edit

Python a ukazatele

Dotaz

Dobrý den, zajímalo by mne, zda Python zná něco jako ukazatele. Kouknul jsem na pár webových stránek, ale moudřejší z toho nejsem, vypadá to spíš, jako by toto python neuměl.

Odpověď

Ukazatele v Pythonu 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.

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

Příklad (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




subject:
  ( 118 subscribers )