[python] Python a ukazatele

Jan Bednařík jan.bednarik na gmail.com
Čtvrtek Leden 15 19:54:45 CET 2009


2009/1/15 Vlada Macek <tuttle na sandbox.cz>:
> martin jirasek wrote:
>> 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.
>
> Primo ukazatele nema, protoze vlastne nejsou potreba.

Pro upřesnění bych dodal, že prakticky všechny identifikátory v
Pythonu jsou ukazatele. Chovají se tak nějak intuitivně - při
přiřazení nějaké hodnoty dojde ke kopii té hodnoty, zatímco při
přiřazení instance objektu dojde jen k vytvoření dalšího ukazatele na
ten sám objekt.

Asi takto:

>>> a = 1
>>> b = a
>>> a = 2
>>> print a
2
>>> print b
1

>>> c = [1, 2, 3]
>>> d = c
>>> c[0] = 9
>>> print c
[9, 2, 3]
>>> print d
[9, 2, 3]

>>> def f(x):
...     x[0] = "ahoj"
...
>>> e = [1, 2]
>>> f(e)
>>> print e
['ahoj', 2]


Honza


Další informace o konferenci Python