[python] Py cz globalizace
Pavel Kosina
geon na post.cz
Pondělí Listopad 26 21:18:57 CET 2007
Calis.martin na seznam.cz napsal(a):
> jinak řečeno mam problem s tímhle:
> "pocet = Label(okno2,text=dny[x][0])
> pocet.pack()"
> a pak bych ve višim patře potřeboval udělat tohle: "pocet.destroy()" jenže to nefunguje a zglobalizovat to taky nemohu...
>
>
Krásné slovo - zglobalizovat ;-) . Řešení je několik:
1/ zglobalizovat - to by samozřejmě mělo jít a pokud ti kolidují jména,
jednoduše použij jiné
2/ Na nejvyšší úrovni programu si založ třebas slovník a ve funkcích do
něj přidávej prvky - ty pak budou přístupné vždy a všude
3a/ Na nejvyšší úrovni programu si založ class a vytvoř jednu instanci,
jakýsi kontejner proměnných, a v ve funkcích zakládej proměnné instance,
které pak můžeš používat úplně všude
3b/ využij již některou existující class, pokud máš např. root=Tk(), tak
ve funkci udělat root.pocet=pocet, a jinde používat
root.pocet.destroy(). Pozor at nepřepíšeš některou defaultní proměnnou
- používal bych výhradně česká jména proměnných.
Tak asi tak.
--
geon
Pavel Kosina
Další informace o konferenci Python