The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Newsgroups: comp.lang.python
From: Steven D'Aprano <st...@REMOVE-THIS-cybersource.com.au>
Date: 17 Jul 2009 07:52:19 GMT
Local: Fri, Jul 17 2009 3:52 am
Subject: Re: Override a method but inherit the docstring
On Fri, 17 Jul 2009 12:58:48 +1000, Ben Finney wrote: When the decorator is called, the function object is just a function >> Using a decorator in this manner requires repeating the super class >> name. Perhaps there is a way to get the bases of BarGonk, but I don't >> think so, because at the time that the decorator is called, BarGonk is >> not yet fully defined. > Yes, I tried a few different ways, but within the decorator it seems the object, not a method, so there is no concept of "what class it is destined for". >>> def dec(func): ... print type(func) ... try: ... print func.im_class ... except: ... print "no im_class" ... return func ... >>> class Test(object): ... @dec ... def spam(self): ... pass ... <type 'function'> no im_class >>> type(Test.spam) <type 'instancemethod'> >>> Test.spam.im_class <class '__main__.Test'> I suppose you could try to determine what namespace you're currently when -- You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||