eryksun added the comment:
In Python 2 [Py_InitModule4][1] optionally allows setting __self__ on module
functions, but no module in the standard library actually uses this. It's
always None. This is no longer optional with Python 3's [PyModule_Create][2].
Built-in module functions instantiated the normal way can be considered as
methods of the module in which they're defined. However, some modules may
specially instantiate functions for which __self__ is None, such as
codecs.strict_errors.
>>> codecs.strict_errors.__self__ is None
True
[1]: https://docs.python.org/2/c-api/allocation.html#c.Py_InitModule4
[2]: https://docs.python.org/3/c-api/module.html#c.PyModule_Create
----------
nosy: +eryksun
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue14003>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com