Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. Studieren Sie folgenden Code: <code python> import inspect # Ein bisschen Python Magic, um Funktionsname und Zeilennummer auszugeben. Duerfen Sie ignorieren. def niceInfo(s): print "Funktion %s, Zeile %d:" % (inspect.getframeinfo(inspect.currentframe().f_back)[2], inspect.currentframe().f_back.f_lineno) print s print # foo: Gibt das Quadrat vom Argument zurueck. # Die Variablen a und b sind hier lokal und haben nicht mit den Variablen a und b ausserhalb zu tun, # mal abgesehen davon, dass der Wert der Variablen b der Funktion bar in die Variable a der Funktion foo kopiert wird. def foo(a): b=a*a niceInfo("a=%d, b=%d" % (a,b)) return b # bar: Gibt das Quadrat (mit Hilfe von foo) minus 4 zurueck. def bar(b): a=foo(b)-4 niceInfo("a=%d, b=%d"% (a,b)) return a a = 4 b = 5 niceInfo("a=%d, b=%d" % (a,b)) c = bar(3) # Die Variablen a und b werden nicht veraendert! niceInfo("a=%d, b=%d, c=%d" % (a,b,c)) </code> lehrkraefte/blc/informatik/ffprg1-2019/variablen-scope.txt Last modified: 2019/02/10 11:56by Ivo Blöchliger