Seite 1 von 1

Kleine Frage zu einer switch anweisung

Verfasst: Sonntag 24. Februar 2008, 03:08
von Treehouse
Hallo zusammen,

ich wollte die etwas andere art der switch Anweisung implementieren.
Leider verstehe ich nicht warum ich keine Ausgabe bekomme.

Wäre schön wenn mir mal jemand sagen könnte was ich falsch mache.

Code: Alles auswählen

#!/usr/bin/env python

def foo():
	print 'foo'

def bar():
	print 'bar'
	
def default():
	print 'default'

archive = {

	'foo' : foo,
	'bar' : bar
}
		
archive.get('foo', default)
Gruß

Treehouse

Verfasst: Sonntag 24. Februar 2008, 03:26
von tux21b
Mit archive.get() bekommst du dann das Funktionsobjet, welches du dann ebenfalls mit () aufrufen kannst. Die beiden Klammern für den Funktionsaufruf fehlen aber noch bei dir. Das würde dann so ausschauen:

Code: Alles auswählen

archive.get('foo', default)()
Oder vllt etwas einfacher zu verstehen:

Code: Alles auswählen

handler = archive.get('foo', default)
handler()
Gruß
Christoph

Verfasst: Sonntag 24. Februar 2008, 08:35
von Treehouse
Vielen Dank Christoph für deine Antwort.
Jetzt klappt alles so wie gewünscht