Folgendes Programm:
Code: Alles auswählen
var = 42
def foo():
print var
foo()
Ich weiß.. was ihr denkt... Der Typ ist seit 7 Jahren im Forum und das ist alles was er hinbekommen hat???42

Aber jetzt was mich wirklich verwundert:
Folgendes:
Code: Alles auswählen
var = 42
def foo():
print var
var = 43
foo()
Der Interpreter meckert nicht die Zuweisung an... (wobei ich auch das nicht verstehen würde, da ja vorher var auch in der Funktion bekannt war) der Interpreter frisst den "print" nicht, welcher zuvor ja noch funktioniert hat...Traceback (most recent call last):
File "seltsam.py", line 7, in <module>
foo()
File "seltsam.py", line 4, in foo
print var
UnboundLocalError: local variable 'var' referenced before assignment
alpha@dualcore:~/EigeneDateien/python$
Es handelt sich übrigens um Python 2.6
Wie erklärt Ihr euch das? (bzw mir)

Grüße und ein schönes WE
alpha