AW: [mailinglist] Re: [Python-de] Methoden Wrapper

Uwe Schmitt schmitt at num.uni-sb.de
Mit Aug 20 16:03:48 EDT 2003


::
:: Oh Sorry - is geändert - hier ein ausführliches Beispiel:
::
:: a) Ich habe ein Klasse <Dummy>
::
:: >>> class Dummy:
:: 	def bound_method(self):
:: 		print 'method belongs to: ' + str(self)
::
:: b) ... eine methode die wrappen soll
::
:: >>> def wrap(method):
:: 	def _method_wrapper(*arg, **kw):
:: 		print arg
:: 		apply(method, arg, kw)
::
:: 	return _method_wrapper
::
::
:: d) ich würde aber gerne auf das self zugreifen können, also
:: so etwas schreiben:
::
:: >>> def wrap(method):
:: 	def _method_wrapper(*arg, **kw):
:: 		caller = args[0]            # hier würd ich gern
::     das self haben, also diese <__main__.Dummy instance at 0x00A71140>

caller = method.im_self

muesste funktionieren.

Gruß, Uwe.