]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Add more tests. Fix code excerpt. (GH-25549) (GH-25550)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 23 Apr 2021 03:26:56 +0000 (20:26 -0700)
committerGitHub <noreply@github.com>
Fri, 23 Apr 2021 03:26:56 +0000 (20:26 -0700)
Doc/howto/descriptor.rst

index eef6b2dfa00c261282bd15c709886d6cade49787..9f0dd2f1f15506cdb6ab5d506c07f7b3f4e7fc2a 100644 (file)
@@ -953,6 +953,20 @@ The documentation shows a typical use to define a managed attribute ``x``:
         def delx(self): del self.__x
         x = property(getx, setx, delx, "I'm the 'x' property.")
 
+.. doctest::
+    :hide:
+
+    >>> C.x.__doc__
+    "I'm the 'x' property."
+    >>> c.x = 2.71828
+    >>> c.x
+    2.71828
+    >>> del c.x
+    >>> c.x
+    Traceback (most recent call last):
+      ...
+    AttributeError: 'C' object has no attribute '_C__x'
+
 To see how :func:`property` is implemented in terms of the descriptor protocol,
 here is a pure Python equivalent:
 
@@ -1354,9 +1368,10 @@ Using the non-data descriptor protocol, a pure Python version of
     "A doc for 'T'"
 
 
-The code path for ``hasattr(obj, '__get__')`` was added in Python 3.9 and
-makes it possible for :func:`classmethod` to support chained decorators.
-For example, a classmethod and property could be chained together:
+The code path for ``hasattr(type(self.f), '__get__')`` was added in
+Python 3.9 and makes it possible for :func:`classmethod` to support
+chained decorators.  For example, a classmethod and property could be
+chained together:
 
 .. testcode::