[python] Referencia

David Necas (Yeti) yeti na physics.muni.cz
Čtvrtek Únor 2 18:40:13 CET 2006


On Thu, Feb 02, 2006 at 06:14:11PM +0100, balky wrote:
> pokial viem, tak ak do premennej priradim nieco, nepriradil som vlastne 
> obsah tej premennej, ale iba odkaz(pointer) na ten objekt.

Kdyby se přiřazení v Pythonu říkalo pojmenování, asi by se
mnohé vyjasnilo.

> >>> a = [1,2,3]
> >>> b = a
> >>> print b
> [1,2,3]
> >>> a = [3,3,3]

Tento řádek vytvoří nový objekt [3,3,3] a pojmenuje ho a. Na
objekt [1,2,3] už pak existuje jen odkaz jménem b.

> >>> print a
> [3,3,3]
> >>> print b
> [1,2,3]
> 
> 
> Ako zabezpecim, aby sa pri zmene hodnoty a zmenila aj hodnota v b?

Při změně objektu pojmenovaného a se změní i b, když je to
tentýž objekt. Když není, tak není.

> Nie je b iba odkaz na a?
> Alebo je to odkaz na ine a?

b není odkaz na žádné a; jména a a b jsou dvě jména téhož
objektu (resp. byla, než jsi jménem a pojmenoval jiný
objekt).

Nevím, čeho se přesně snažíš dosáhnout, ale zkus se prostě
podívat na přiřazení jako na pojmenování.

Yeti


--
That's enough.



Další informace o konferenci Python