From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 23 Oct 2023 15:49:12 +0000 (+0200) Subject: [3.12] gh-106310 - document the __signature__ attribute (GH-106311) (#111145) X-Git-Tag: v3.12.1~238 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a5aab0cb40672892eba4f5b0df5759505d7e5b9;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-106310 - document the __signature__ attribute (GH-106311) (#111145) Co-authored-by: Gouvernathor <44340603+Gouvernathor@users.noreply.github.com> Co-authored-by: Alex Waygood --- diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst index 23dde26ea3ec..9f0b965bb03f 100644 --- a/Doc/library/inspect.rst +++ b/Doc/library/inspect.rst @@ -640,6 +640,9 @@ function. Accepts a wide range of Python callables, from plain functions and classes to :func:`functools.partial` objects. + If the passed object has a ``__signature__`` attribute, this function + returns it without further computations. + For objects defined in modules using stringized annotations (``from __future__ import annotations``), :func:`signature` will attempt to automatically un-stringize the annotations using @@ -760,6 +763,8 @@ function. sig = MySignature.from_callable(min) assert isinstance(sig, MySignature) + Its behavior is otherwise identical to that of :func:`signature`. + .. versionadded:: 3.5 .. versionadded:: 3.10