Zuweisung von Funktionen an Variablen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HPL
User
Beiträge: 10
Registriert: Mittwoch 1. Dezember 2010, 14:29

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.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Rücke das "a = LNT" aus. Diese Anweisung soll garantiert nicht Teil der Funktion "LNT" sein, sondern auf der Grundebene stehen.

Stefan
HPL
User
Beiträge: 10
Registriert: Mittwoch 1. Dezember 2010, 14:29

Danke, geht! :idea:
Antworten