[python] globalni promenne

Petr Mach gsl na seznam.cz
Pátek Srpen 22 11:05:26 CEST 2003


Jan Matejka wrote:
> A co takto?
> 
> naprosto prazdny modul glb, nebo pripadne s inicializaci glob promennych
> ve vsech ostatnich modulech  import glb
> ke globalnim promennym pristupovat z techto modulu takto:
> 
> nastaveni:
> glb.var1="ahoj"
> 
> pouziti treba z jineho modulu:
> print glb.var1
No, ja bych to prave nerad zapouzdroval. Tenhle muj problem
vznikl tak, ze uz mi soubor s funkcemi prerostl pres hlavu
a chtel jsem jej rozdelit na vic casti, ale zda se, ze Python
je nepruzny a neni to u nej mozne, bez uprav veskereho kodu.
Navic nektere prom uz maji treba takovouhle anotaci:
   vysledky['anketa'][aAnketa]['odpoved'][aOdpoved][i]
A nechci to jeste prodluzovat, kdyz se maji dve takove promm.
porovnavat, uz se to nevejde ani na obrazovku a Python navic
ma neprehledne formatovani kodu, kdyz bloky urcuje odsazovanim,
misto aby to delal treba slozenyma zavorkama.

> prazdny modul ma vlastne funkci C++ namespace. V Pythonu global, pokud se
> nemylim znamena "tato promenna neni lokalni automaticka promenna tohoto
> bloku ale globalni promenna tohoto modulu" takze co modul to vlastni
> globalni promenne.
> 
To jsem pochopil, ale take jsem pochopil, ze konstrukci
   from modul import *
vlozim namespace modulu do skriptu, u funkci to tak
alespon funguje, u promm. z nejakeho duvodu ne.

------------- další část ---------------
_______________________________________________
python mailing list
python na py.cz
http://py.cz/mailman/listinfo/python


Další informace o konferenci Python