mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
Patch #711902: Cause pydoc to show data descriptor __doc__ strings.
This commit is contained in:
parent
e86a59af88
commit
e59e2bab8f
5 changed files with 43 additions and 2 deletions
|
@ -161,6 +161,31 @@ Note:
|
|||
Return true if the object is a user-defined or built-in function or method.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{ismethoddescriptor}{object}
|
||||
Return true if the object is a method descriptor, but not if ismethod() or
|
||||
isclass() or isfunction() are true.
|
||||
|
||||
This is new as of Python 2.2, and, for example, is true of int.__add__.
|
||||
An object passing this test has a __get__ attribute but not a __set__
|
||||
attribute, but beyond that the set of attributes varies. __name__ is
|
||||
usually sensible, and __doc__ often is.
|
||||
|
||||
Methods implemented via descriptors that also pass one of the other
|
||||
tests return false from the ismethoddescriptor() test, simply because
|
||||
the other tests promise more -- you can, e.g., count on having the
|
||||
im_func attribute (etc) when an object passes ismethod().
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{isdatadescriptor}{object}
|
||||
Return true if the object is a data descriptor.
|
||||
|
||||
Data descriptors have both a __get__ and a __set__ attribute. Examples are
|
||||
properties (defined in Python) and getsets and members (defined in C).
|
||||
Typically, data descriptors will also have __name__ and __doc__ attributes
|
||||
(properties, getsets, and members have both of these attributes), but this
|
||||
is not guaranteed.
|
||||
\end{funcdesc}
|
||||
|
||||
\subsection{Retrieving source code
|
||||
\label{inspect-source}}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue