diff --git a/pep-0362.txt b/pep-0362.txt index d30f5bc5b..12dd71784 100644 --- a/pep-0362.txt +++ b/pep-0362.txt @@ -160,11 +160,16 @@ The function implements the following algorithm: - Or else construct a new ``Signature`` object and return it - - if the object is a method, construct and return a new ``Signature`` - object, with its first parameter (usually ``self``) removed + - if the object is a method or a classmethod, construct and return + a new ``Signature`` object, with its first parameter (usually + ``self`` or ``cls``) removed - If the object is a class return ``signature(object.__init__)`` + - If the object is an instance of ``functools.partial``, construct + a new ``Signature`` from its ``partial.func`` attribute, and + account for already bound ``partial.args`` and ``partial.kwargs`` + - Return ``signature(object.__call__)`` Note, that the ``Signature`` object is created in a lazy manner, and