[python] Pasti a Objekty jazyka Python

geon geon na post.cz
Středa Srpen 31 18:51:54 CEST 2005


David Michal napsal(a):

> Zdravim,
> jen jedna teoreticka. O objektech se tam pise:
>
>     *name = 10
>     name = 20* 
>
> Tento zápis znamená, že jste do lokálního prostoru jmen nejdříve 
> přidali jméno "name" a zajistili jste, že odkazuje na objekt typu 
> integer s hodnotou 10. Pak jste znovu vložili stejné jméno a spojili 
> je s odkazem na objekt typu integer s hodnotou 20. Původní objekt "10" 
> není touto operací nijak dotčen. Je mu to jedno.
>
> Znamena to, ze napr. tento cyklus:
> For i in xrange(10000): a = i
> Vytvori v pameti pocitace 10k objektu typu integer, ktere tam zustanou 
> i po skonceni cyklu?
> Diky,
> DM
>
Ne. Říká se tomu Automatické vyhazování do koše. Jakmile (nebo po 
nějakém čase) Python zjistí, že na objekt nejsou žádné reference, 
automaticky ho zničí. Python to dělá za tebe, v některých extra 
případech to můžeš vzít pomocí modulu gc do svých rukou.

http://www.python.org/doc/2.4.1/ext/refcounts.html
http://www.python.org/doc/2.4.1/ext/node24.html

geon

------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20050831/60cc5fde/attachment.htm


Další informace o konferenci Python