[python] globalni a lokalni promenne
Jan Svec
honza na py.cz
Pátek Srpen 22 11:05:13 CEST 2003
On Mon, 9 Dec 2002, Petr Vanek wrote:
> zdravej,
> dobre se maj, jenom porad nevedej, jak tu udelaj, kdyz maj takovejhle
> problem evidentne s lokalnima a globalnima promennyma:
Na to si davaj pozor. Lokalni a globalni promenne jsou
hajzli a kazdy by mel umet, kdyz ukazeme na jmeno promenny,
rict, jestli je lokalni nebo globalni! Proto take
nedoporucujou pouzivat 'from module import *', protoze to
naimportuje spoustu veci a pak uz mi nereknou, ktera
promenna je kde definovana :)
> def connect(self,db,dir):
> import gadfly
> conn=gadfly.gadfly()
> conn.startup=(db,dir)
> return conn
Pokud maj bordel ve jmenech, zkusi tohle:
def connect(self,db,dir):
global gadfly, conn
import gadfly
conn=gadfly.gadfly()
conn.startup=(db,dir)
return conn
Po volani teto funkce maj globalnim v namespace dve novy
promenny - gadfly (modul) a conn (konekce).
> co musim udelat, abych mohl v cele aplikaci pouzivat tuhle connekci? ted
> mi to vraci asi (logicky): raise error, "not bound to database"
To ale vypada, ze nejsou pripojeny k databazi! Nemaj problem
na jejich strane?
> ja v tech lokalnich a globalnich promennych mam takovy chaos, vzdycky
> to nejak zmastim, ale nejak to preci musi byt korektne, ne?
>
Pozor na lok./glob. promenny, prosime jich vseci!
PS: Maj v Kanade hodne snehu? V Cechach snih nemame, jen
strasnej mraz, rano nam malem upadli usi. Asi vytahneme
kulicha.
--
S pozdravem
Jan Svec
<honza na py.cz>
http://py.cz
------------- další část ---------------
_______________________________________________
python mailing list
python na py.cz
http://py.cz/mailman/listinfo/python
Další informace o konferenci Python