python function call
-
Hallo,
kann mir mal einer sagen warum das hier moeglich ist
def funk(param): print param #main Programm funk(var) #var wurde nicht initalisiert !!
-
> funk(var)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'var' is not defined
-
sorry hab was vergessen eigentlich hatte ich da noch nen try Block rum.
Und da bekam ich dann keinen Hinweis dass die variable nicht existiert.
-
Hello wird ausgegeben !!
def funk(param): print "Hello" print param #main Programm try: funk(var) #var wurde nicht initalisiert !! except: print "Failure"
-
Auch wieder Mist. Hello wird nicht ausgegeben.
Aber das total dumme ist. Er geht sofot in den except Block und gibt mir nicht mehr die Fehlermeldung dass die Variable nicht initialisiert wurde.
-
blurry333 schrieb:
Aber das total dumme ist. Er geht sofot in den except Block und gibt mir nicht mehr die Fehlermeldung dass die Variable nicht initialisiert wurde.
Natürlich. Du fängst ja die NameError Exception.
def funk(param): print "Hello" print param #main Programm try: funk(var) #var wurde nicht initalisiert !! except NameError as e: print "Failure: ", e
-
Wenn ich dasselbe in C++ mache dann werd ich aber schon hingewiesen dass da was nicht passt oder ?
-
Ja. C++ überprüft Variablen zur Compilezeit, Python versucht sie zur Laufzeit zu finden.