Re: [Python-de] dynamisch Methoden aufrufen
name = "two" c = C()
c.__dict__[name]() Simon _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
--- Simon Pamies <lists@bipbap.de> schrieb: > >
name = "two" c = C()
c.__dict__[name]()
Simon
hi habe ich getestet, funzt aber nicht. #!/usr/bin/env python class C: def __init__(self): pass def one(self): print "in one" def two(self): print "in two" name = "two" c = C() print c.__dict__ c.__dict__[name]() Ausgabe: {} Traceback (most recent call last): File "./cal.py", line 21, in ? c.__dict__[name]() KeyError: 'two' __dict__ von c ist also leer. der andere vorschlag mit getattr funzt. greift getattr nicht auf auf __dict__ zurück ? Markus __________________________________________________________________ Gesendet von Yahoo! Mail - http://mail.yahoo.de Logos und Klingeltöne fürs Handy bei http://sms.yahoo.de _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
On Wednesday 12 November 2003 14:58, Markus Jais wrote:
--- Simon Pamies <lists@bipbap.de> schrieb: > > [...]
__dict__ von c ist also leer. der andere vorschlag mit getattr funzt.
greift getattr nicht auf auf __dict__ zurück ?
kommt drauf an: attribute stehen i.a. im __dict__ methoden finden sich bei der klasse (wie Rainer schon erwäht hat), können aber genausogut in einer Elternklasse stehen. wenn du die 'getattr' funktion benutzt, brauchst du dir um solche einzelheiten keine sorgen zu machen, d.h. per hand diverse lokalitäten durchforsten, ob dort das gewünschte element vorhanden ist. wenn du schon dabei bist: es gibt auch entsprechende 'setattr' und 'hasattr' funktionen. Stephan
Markus
__________________________________________________________________
Gesendet von Yahoo! Mail - http://mail.yahoo.de Logos und Klingeltöne fürs Handy bei http://sms.yahoo.de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (3)
-
Markus Jais -
Simon Pamies -
Stephan Diehl