Arbitrary dunder attributes (was Re: odd difference calling function from class or instance variable)

Chris Angelico rosuav at gmail.com
Wed Aug 13 05:51:38 EDT 2014


On Wed, Aug 13, 2014 at 7:06 PM, GregS <not at my.real.address.com> wrote:
> When I assign the reference as a class variable, the reference has __self__
> set, too, so I get an extra argument passed to the function.  If I assign
> the reference as an instance variable, then __self__ is unset so no extra
> argument.

Spin-off from Greg's thread.

The bound method object stores a reference to the original object (the
thing that becomes the first argument to the target function) in
__self__ (and the function in __func__). ISTM this ought to be _self
(and _func), as it's intended to be private; is it really something
that has language-level significance on par with __lt__ and so on?

ChrisA



More information about the Python-list mailing list