So wie ich in Python Argument lernen, eine Funktion mit einem Argument zu verwenden, ist wie folgt:Funktionsargument in Python: nicht erhöhen Nameerror
def res(arg1, arg2):
try:
print(a+b) # it prints result.. shouldn't code be break here?
return a + b # this also returns a result.
except NameError:
return "failed."
a = 2
b = 3
print(res(a, b))
ich erwarte, dass in einem solchen Fall Funktion NameError
erhöhen sollte und es sollte in Ausnahmeblock behandelt werden, aber es wird keine Art von Fehler, stattdessen funktioniert es mit beiden arg1+arg2
und a +b
Ich vermisse etwas hier? brauche jede Art von Hilfe, um dies zu verstehen und zu überwinden.
'a' und 'b' sind Globals in Ihrem Modul und alle globalen Variablen sind auf Ihre Funktion zur Verfügung. –
wie diese Sprache interpretiert wird, sollte keine globale Variable vor der Funktionsdefinition definiert werden? – Gahan
Nein, die Globals müssen nur definiert werden, bevor Sie die Funktion _call_ aufrufen. Sie können diesen Artikel hilfreich finden: [Fakten und Mythen über Python-Namen und Werte] (http://nedbatchelder.com/text/names.html), die von SO-Veteran Ned Batchelder geschrieben wurde. –