Seite 1 von 1

Zuweisung von Funktionen an Variablen

Verfasst: Mittwoch 29. Dezember 2010, 13:28
von HPL
Ich lese gerade die Einführung zu Python von Harms und MacDonald. Dort steht doch tatsächlich (S. 168):
'Funktionen können, wie andere Python-Objekte auch, Variablen zugewiesen werden.'

Ich bin aber aus dem Beipsiel nicht ganz schlau geworden, ich habe versucht, das auszuprobieren, dabei ist meinem Anfängergeiste obiger Code entsprungen - die Frage, die ich mir stelle ist diejenige, wie es möglich sei, eine einer Variablen zugeiwesene Funktion aus einer anderen Funktion aus aufzurufen - müsste ja machbar sein. Wenn ich nun folgenden Code laufen lasse...

Code: Alles auswählen

# -*- coding: utf-8 -*-

def LNT(word):
	if word.isupper():
		word="Da ist min. ein Grossbuchstabe drinnen!"
	else:
		return word

	a=LNT


def WORT(testword):
	if len(testword)>20:
		return
	else:
		a(testword)

...kotzt er mir die Fehlermeldung "global name a is not defined" zurück, auch dann, wenn ich die Funktionszuweisung umdrehe zu LNT=a.

Re: Zuweisung von Funktionen an Variablen

Verfasst: Mittwoch 29. Dezember 2010, 13:38
von sma
Rücke das "a = LNT" aus. Diese Anweisung soll garantiert nicht Teil der Funktion "LNT" sein, sondern auf der Grundebene stehen.

Stefan

Re: Zuweisung von Funktionen an Variablen

Verfasst: Mittwoch 29. Dezember 2010, 14:22
von HPL
Danke, geht! :idea: