[python] globalni promenne
Petr Mach
gsl na seznam.cz
Středa Únor 12 01:05:07 CET 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ší informace o konferenci Python