import database#import for libraryfrom database import *test_msg = "Stara sprava"def test_database(): print (test_check)print test_database
def check(): global test_check test_check = "Nova sprava"
Citace od: The Simpson kdy 09. 11. 2017, 15:30:54V pythone spravim nieco taketov database.py je nieco taketo
<function test_database at 0x7f6863ae2668>
import inspectdef check(): frame = inspect.currentframe() frame.f_back.f_globals['test_check'] = "Nova sprava"
Citace od: gll kdy 09. 11. 2017, 16:59:49globální proměnné ve spojení s dynamickým scopováním jsou neskutečně užitečná věc. Bohužel Python v tomto ohledu hází klacky pod nohy. Musíte použít funkce z inspect. Třeba takto:...
Citace od: Inkvizitor kdy 09. 11. 2017, 18:17:17Citace od: gll kdy 09. 11. 2017, 16:59:49globální proměnné ve spojení s dynamickým scopováním jsou neskutečně užitečná věc. Bohužel Python v tomto ohledu hází klacky pod nohy. Musíte použít funkce z inspect. Třeba takto:...Muzes prosim napsat, k cemu to je tak moc uzitecne?
import databasefrom database import *data_read()print (new_text)
def data_read(): new_text = "Text Change"
Traceback (most recent call last): File "C:/Users/op/Desktop/A/init.py", line 5, in <module> print (new_text)NameError: name 'new_text' is not defined
import databasefrom database import *new_text = "start"data_read()print (new_text)
Citace od: gll kdy 09. 11. 2017, 19:01:17Citace od: Inkvizitor kdy 09. 11. 2017, 18:17:17Citace od: gll kdy 09. 11. 2017, 16:59:49globální proměnné ve spojení s dynamickým scopováním jsou neskutečně užitečná věc. Bohužel Python v tomto ohledu hází klacky pod nohy. Musíte použít funkce z inspect. Třeba takto:...Muzes prosim napsat, k cemu to je tak moc uzitecne?to je snad jasné. Některé hodnoty chcete mít přístupné globálně v celém programu.
Citace od: The Simpson kdy 09. 11. 2017, 19:17:03Ide o to ze dalej tu funkciu data_read budem volat napriklad len ked budem chciet "refreshnut" data ale obcas potrebujem niektore tie data s tej funkcie aj zobrazit niekde inde v programe. Ako to teda spravit bez pouzitia global ? A ak pouzit global kde je najlepsie ho definovat ak viem ze tie data na 100% zapisujem len v tej funkcii a inde v programe sa len citaju ?
def data_read(): return "Text Change"
print data_read()
Citace od: Kit kdy 09. 11. 2017, 19:19:56Které? Nemám žádné hodnoty, které bych chtěl mít přístupné globálně. I konstanty vždy patří do nějaké třídy, jinak je to opruz. Tím se samozřejmě nezastávám statických atributů.