mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
closes bpo-36188: Clean up 'unbound' method left-overs. (GH-12169)
Methods are always bound, and `__self__` can no longer be `NULL` (`method_new()` and `PyMethod_New()` both explicitly check for this). Moreover, once a bound method is bound, it *stays* bound and won't be re-bound to something else, so the section in the datamodel that talks about accessing an methods in a different descriptor-binding context doesn't apply any more in Python 3.
This commit is contained in:
parent
0983fcd0d5
commit
b727239575
3 changed files with 5 additions and 24 deletions
|
@ -578,12 +578,6 @@ Callable types
|
|||
to be bound. The new method's :attr:`__func__` attribute is the original
|
||||
function object.
|
||||
|
||||
When a user-defined method object is created by retrieving another method
|
||||
object from a class or instance, the behaviour is the same as for a
|
||||
function object, except that the :attr:`__func__` attribute of the new
|
||||
instance is not the original method object but its :attr:`__func__`
|
||||
attribute.
|
||||
|
||||
When an instance method object is created by retrieving a class method
|
||||
object from a class or instance, its :attr:`__self__` attribute is the
|
||||
class itself, and its :attr:`__func__` attribute is the function object
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue