Kleine Frage zu einer switch anweisung

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
Treehouse
User
Beiträge: 39
Registriert: Freitag 14. Dezember 2007, 00:40

Sonntag 24. Februar 2008, 03:08

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
tux21b
User
Beiträge: 18
Registriert: Mittwoch 15. Februar 2006, 23:20
Wohnort: Linz.at
Kontaktdaten:

Sonntag 24. Februar 2008, 03:26

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
[url]http://www.ubuntuusers.de[/url]
Treehouse
User
Beiträge: 39
Registriert: Freitag 14. Dezember 2007, 00:40

Sonntag 24. Februar 2008, 08:35

Vielen Dank Christoph für deine Antwort.
Jetzt klappt alles so wie gewünscht
Antworten