__self__ on built-in functions

Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

__self__ on built-in functions

Роман Донченко
Hello,

The language reference for Python 3.2 (and the development version, as  
well), says this in section 3.2:

~
Built-in functions

A built-in function object is a wrapper around a C function. Examples of  
built-in functions are len() and math.sin() (math is a standard built-in  
module). <...> Special read-only attributes: <...> __self__ is set to None  
(but see the next item) <...>.
~

Now I don't know whether it's a bug in Python or in the docs, but that  
doesn't seem to be the case:

ActivePython 3.2.2.3 (ActiveState Software Inc.) based on
Python 3.2.2 (default, Sep  8 2011, 10:55:13) [MSC v.1500 64 bit (AMD64)]  
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> len.__self__
<module 'builtins' (built-in)>
>>> open.__self__
<module 'io' (built-in)>
>>> import math
>>> math.sin.__self__
<module 'math' (built-in)>

Thoughts?

Roman.

_______________________________________________
Doc-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/doc-sig
Reply | Threaded
Open this post in threaded view
|

Re: __self__ on built-in functions

Michael Foord-5
On 13/02/2012 16:43, Роман Донченко wrote:

> Hello,
>
> The language reference for Python 3.2 (and the development version, as
> well), says this in section 3.2:
>
> ~
> Built-in functions
>
> A built-in function object is a wrapper around a C function. Examples
> of built-in functions are len() and math.sin() (math is a standard
> built-in module). <...> Special read-only attributes: <...> __self__
> is set to None (but see the next item) <...>.
> ~
>
> Now I don't know whether it's a bug in Python or in the docs, but that
> doesn't seem to be the case:
>
> ActivePython 3.2.2.3 (ActiveState Software Inc.) based on
> Python 3.2.2 (default, Sep  8 2011, 10:55:13) [MSC v.1500 64 bit
> (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> len.__self__
> <module 'builtins' (built-in)>
>>>> open.__self__
> <module 'io' (built-in)>
>>>> import math
>>>> math.sin.__self__
> <module 'math' (built-in)>
>
> Thoughts?
>

Yep, that seems like a documentation bug. Please file an issue for it.

All the best,

Michael

> Roman.
>
> _______________________________________________
> Doc-SIG maillist  -  [hidden email]
> http://mail.python.org/mailman/listinfo/doc-sig
>


--
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html

_______________________________________________
Doc-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/doc-sig