[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: Simple Traits Questions

Ethan Furman

3/28/2010 1:47:00 PM

Robert Kern wrote:
> On 2010-03-27 08:19 , Ethan Furman wrote:
>
>> Okay, different post for my actual questions. :)
>>
>> On the PyPI page for strait (http://pypi.python.org/pypi/st...)
>> it has the example of choosing which methods to keep in the composed
>> class:
>>
>> class TOSWidget(BaseWidget):
>> __metaclass__ = include(Pack, Place, Grid)
>> info = Pack.info.im_func
>> config = Pack.config.im_func
>> configure = Pack.configure.im_func
>> slaves = Pack.slaves.im_func
>> forget = Pack.forget.im_func
>> propagate = Pack.propagate.im_func
>>
>> My question is:
>>
>> Why use
>>
>> info = Pack.info.im_func
>>
>> instead of
>>
>> info = Pack.info
>>
>> ?
>
>
> Pack.info is an unbound method object attached to the Pack class, not a
> function object. It has some extra semantics on top of functions and is
> tied to the Pack class. The .im_func attribute gets the actual function
> object underneath. When defining the TOSWidget class, the objects
> defined in the suite under the class: statement need to be actual
> functions in order to be turned into unbound methods attached to the
> TOSWidget class.

Ah, thank you.

In Python 3, though, would the Pack.info form be correct?

~Ethan~