]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40304: Correct type(name, bases, dict) doc (GH-19553)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 22 Jan 2021 05:57:40 +0000 (21:57 -0800)
committerGitHub <noreply@github.com>
Fri, 22 Jan 2021 05:57:40 +0000 (21:57 -0800)
Co-authored-by: Éric Araujo <merwok@netwok.org>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Tal Einat <532281+taleinat@users.noreply.github.com>
(cherry picked from commit 644d52818a6391535e5838fd57d58ffcb1163056)

Co-authored-by: Борис Верховский <boris.verk@gmail.com>
Doc/library/functions.rst
Misc/NEWS.d/next/Documentation/2021-01-20-23-03-49.bpo-40304.-LK7Ps.rst [new file with mode: 0644]

index 4f5fe6bc23069777f76021c85e1eb0a5e5b73db6..5a039f7a9476ff807a438a0fa52a6b21e1d28aaf 100644 (file)
@@ -1683,18 +1683,19 @@ are always available.  They are listed here in alphabetical order.
 
 
    With three arguments, return a new type object.  This is essentially a
-   dynamic form of the :keyword:`class` statement. The *name* string is the
-   class name and becomes the :attr:`~definition.__name__` attribute; the *bases*
-   tuple itemizes the base classes and becomes the :attr:`~class.__bases__`
-   attribute; and the *dict* dictionary is the namespace containing definitions
-   for class body and is copied to a standard dictionary to become the
-   :attr:`~object.__dict__` attribute.  For example, the following two
-   statements create identical :class:`type` objects:
+   dynamic form of the :keyword:`class` statement. The *name* string is
+   the class name and becomes the :attr:`~definition.__name__` attribute.
+   The *bases* tuple contains the base classes and becomes the
+   :attr:`~class.__bases__` attribute; if empty, :class:`object`, the
+   ultimate base of all classes, is added.  The *dict* dictionary contains
+   attribute and method definitions for the class body; it may be copied
+   or wrapped before becoming the :attr:`~object.__dict__` attribute.
+   The following two statements create identical :class:`type` objects:
 
       >>> class X:
       ...     a = 1
       ...
-      >>> X = type('X', (object,), dict(a=1))
+      >>> X = type('X', (), dict(a=1))
 
    See also :ref:`bltin-type-objects`.
 
diff --git a/Misc/NEWS.d/next/Documentation/2021-01-20-23-03-49.bpo-40304.-LK7Ps.rst b/Misc/NEWS.d/next/Documentation/2021-01-20-23-03-49.bpo-40304.-LK7Ps.rst
new file mode 100644 (file)
index 0000000..3f2f14c
--- /dev/null
@@ -0,0 +1,2 @@
+Fix doc for type(name, bases, dict).  Patch by Boris Verkhovskiy and
+Éric Araujo.