mirror of https://github.com/python/cpython
Add :term:s for "new-style class".
This commit is contained in:
parent
e7a0990113
commit
a739503881
|
@ -256,6 +256,8 @@ Glossary
|
||||||
access, adding thread-safety, tracking object creation, implementing
|
access, adding thread-safety, tracking object creation, implementing
|
||||||
singletons, and many other tasks.
|
singletons, and many other tasks.
|
||||||
|
|
||||||
|
More information can be found in :ref:`metaclasses`.
|
||||||
|
|
||||||
mutable
|
mutable
|
||||||
Mutable objects can change their value but keep their :func:`id`. See
|
Mutable objects can change their value but keep their :func:`id`. See
|
||||||
also :term:`immutable`.
|
also :term:`immutable`.
|
||||||
|
@ -287,6 +289,8 @@ Glossary
|
||||||
descriptors, properties, :meth:`__getattribute__`, class methods, and
|
descriptors, properties, :meth:`__getattribute__`, class methods, and
|
||||||
static methods.
|
static methods.
|
||||||
|
|
||||||
|
More information can be found in :ref:`newstyle`.
|
||||||
|
|
||||||
Python 3000
|
Python 3000
|
||||||
Nickname for the next major Python version, 3.0 (coined long ago when the
|
Nickname for the next major Python version, 3.0 (coined long ago when the
|
||||||
release of version 3 was something in the distant future.)
|
release of version 3 was something in the distant future.)
|
||||||
|
|
|
@ -1950,7 +1950,7 @@ Data types
|
||||||
in case the memory block contains pointers.
|
in case the memory block contains pointers.
|
||||||
|
|
||||||
Common methods of ctypes data types, these are all class methods (to be exact,
|
Common methods of ctypes data types, these are all class methods (to be exact,
|
||||||
they are methods of the metaclass):
|
they are methods of the :term:`metaclass`):
|
||||||
|
|
||||||
|
|
||||||
.. method:: _CData.from_address(address)
|
.. method:: _CData.from_address(address)
|
||||||
|
|
|
@ -350,7 +350,7 @@ available. They are listed here in alphabetical order.
|
||||||
|
|
||||||
The *expression* argument is parsed and evaluated as a Python expression
|
The *expression* argument is parsed and evaluated as a Python expression
|
||||||
(technically speaking, a condition list) using the *globals* and *locals*
|
(technically speaking, a condition list) using the *globals* and *locals*
|
||||||
dictionaries as global and local name space. If the *globals* dictionary is
|
dictionaries as global and local namespace. If the *globals* dictionary is
|
||||||
present and lacks '__builtins__', the current globals are copied into *globals*
|
present and lacks '__builtins__', the current globals are copied into *globals*
|
||||||
before *expression* is parsed. This means that *expression* normally has full
|
before *expression* is parsed. This means that *expression* normally has full
|
||||||
access to the standard :mod:`__builtin__` module and restricted environments are
|
access to the standard :mod:`__builtin__` module and restricted environments are
|
||||||
|
@ -808,8 +808,8 @@ available. They are listed here in alphabetical order.
|
||||||
|
|
||||||
.. function:: property([fget[, fset[, fdel[, doc]]]])
|
.. function:: property([fget[, fset[, fdel[, doc]]]])
|
||||||
|
|
||||||
Return a property attribute for new-style classes (classes that derive from
|
Return a property attribute for :term:`new-style class`\es (classes that
|
||||||
:class:`object`).
|
derive from :class:`object`).
|
||||||
|
|
||||||
*fget* is a function for getting an attribute value, likewise *fset* is a
|
*fget* is a function for getting an attribute value, likewise *fset* is a
|
||||||
function for setting, and *fdel* a function for del'ing, an attribute. Typical
|
function for setting, and *fdel* a function for del'ing, an attribute. Typical
|
||||||
|
@ -1112,8 +1112,8 @@ available. They are listed here in alphabetical order.
|
||||||
Return the superclass of *type*. If the second argument is omitted the super
|
Return the superclass of *type*. If the second argument is omitted the super
|
||||||
object returned is unbound. If the second argument is an object,
|
object returned is unbound. If the second argument is an object,
|
||||||
``isinstance(obj, type)`` must be true. If the second argument is a type,
|
``isinstance(obj, type)`` must be true. If the second argument is a type,
|
||||||
``issubclass(type2, type)`` must be true. :func:`super` only works for new-style
|
``issubclass(type2, type)`` must be true. :func:`super` only works for
|
||||||
classes.
|
:term:`new-style class`\es.
|
||||||
|
|
||||||
A typical use for calling a cooperative superclass method is::
|
A typical use for calling a cooperative superclass method is::
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ logging system for applications.
|
||||||
|
|
||||||
Logging is performed by calling methods on instances of the :class:`Logger`
|
Logging is performed by calling methods on instances of the :class:`Logger`
|
||||||
class (hereafter called :dfn:`loggers`). Each instance has a name, and they are
|
class (hereafter called :dfn:`loggers`). Each instance has a name, and they are
|
||||||
conceptually arranged in a name space hierarchy using dots (periods) as
|
conceptually arranged in a namespace hierarchy using dots (periods) as
|
||||||
separators. For example, a logger named "scan" is the parent of loggers
|
separators. For example, a logger named "scan" is the parent of loggers
|
||||||
"scan.text", "scan.html" and "scan.pdf". Logger names can be anything you want,
|
"scan.text", "scan.html" and "scan.pdf". Logger names can be anything you want,
|
||||||
and indicate the area of an application in which a logged message originates.
|
and indicate the area of an application in which a logged message originates.
|
||||||
|
|
|
@ -122,7 +122,7 @@ There are currently 3 different protocols which can be used for pickling.
|
||||||
earlier versions of Python.
|
earlier versions of Python.
|
||||||
|
|
||||||
* Protocol version 2 was introduced in Python 2.3. It provides much more
|
* Protocol version 2 was introduced in Python 2.3. It provides much more
|
||||||
efficient pickling of new-style classes.
|
efficient pickling of :term:`new-style class`\es.
|
||||||
|
|
||||||
Refer to :pep:`307` for more information.
|
Refer to :pep:`307` for more information.
|
||||||
|
|
||||||
|
@ -430,8 +430,8 @@ New-style types can provide a :meth:`__getnewargs__` method that is used for
|
||||||
protocol 2. Implementing this method is needed if the type establishes some
|
protocol 2. Implementing this method is needed if the type establishes some
|
||||||
internal invariants when the instance is created, or if the memory allocation is
|
internal invariants when the instance is created, or if the memory allocation is
|
||||||
affected by the values passed to the :meth:`__new__` method for the type (as it
|
affected by the values passed to the :meth:`__new__` method for the type (as it
|
||||||
is for tuples and strings). Instances of a new-style type :class:`C` are
|
is for tuples and strings). Instances of a :term:`new-style class` :class:`C`
|
||||||
created using ::
|
are created using ::
|
||||||
|
|
||||||
obj = C.__new__(C, *args)
|
obj = C.__new__(C, *args)
|
||||||
|
|
||||||
|
@ -459,8 +459,8 @@ can do what they want. [#]_
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
For new-style classes, if :meth:`__getstate__` returns a false value, the
|
For :term:`new-style class`\es, if :meth:`__getstate__` returns a false
|
||||||
:meth:`__setstate__` method will not be called.
|
value, the :meth:`__setstate__` method will not be called.
|
||||||
|
|
||||||
|
|
||||||
Pickling and unpickling extension types
|
Pickling and unpickling extension types
|
||||||
|
|
|
@ -549,7 +549,7 @@ string representation and register the function with :meth:`register_adapter`.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The type/class to adapt must be a new-style class, i. e. it must have
|
The type/class to adapt must be a :term:`new-style class`, i. e. it must have
|
||||||
:class:`object` as one of its bases.
|
:class:`object` as one of its bases.
|
||||||
|
|
||||||
.. literalinclude:: ../includes/sqlite3/adapter_point_2.py
|
.. literalinclude:: ../includes/sqlite3/adapter_point_2.py
|
||||||
|
|
|
@ -113,8 +113,9 @@ between conformable Python objects and XML on the wire.
|
||||||
The *use_datetime* flag was added.
|
The *use_datetime* flag was added.
|
||||||
|
|
||||||
.. versionchanged:: 2.6
|
.. versionchanged:: 2.6
|
||||||
Instances of new-style classes can be passed in if they have an *__dict__*
|
Instances of :term:`new-style class`\es can be passed in if they have an
|
||||||
attribute and don't have a base class that is marshalled in a special way.
|
*__dict__* attribute and don't have a base class that is marshalled in a
|
||||||
|
special way.
|
||||||
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
|
@ -534,8 +534,9 @@ must be given a value in the :meth:`__init__` method or in another method. Both
|
||||||
class and instance variables are accessible through the notation
|
class and instance variables are accessible through the notation
|
||||||
"``self.name``", and an instance variable hides a class variable with the same
|
"``self.name``", and an instance variable hides a class variable with the same
|
||||||
name when accessed in this way. Class variables with immutable values can be
|
name when accessed in this way. Class variables with immutable values can be
|
||||||
used as defaults for instance variables. For new-style classes, descriptors can
|
used as defaults for instance variables. For :term:`new-style class`\es,
|
||||||
be used to create instance variables with different implementation details.
|
descriptors can be used to create instance variables with different
|
||||||
|
implementation details.
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
|
|
|
@ -1082,6 +1082,7 @@ Internal types
|
||||||
.. % Types
|
.. % Types
|
||||||
.. % =========================================================================
|
.. % =========================================================================
|
||||||
|
|
||||||
|
.. _newstyle:
|
||||||
|
|
||||||
New-style and classic classes
|
New-style and classic classes
|
||||||
=============================
|
=============================
|
||||||
|
|
|
@ -495,8 +495,8 @@ figure out the consequences of a name conflict with an attribute of
|
||||||
:class:`Base2`. The depth-first rule makes no differences between direct and
|
:class:`Base2`. The depth-first rule makes no differences between direct and
|
||||||
inherited attributes of :class:`Base1`.)
|
inherited attributes of :class:`Base1`.)
|
||||||
|
|
||||||
For new-style classes, the method resolution order changes dynamically to
|
For :term:`new-style class`\es, the method resolution order changes dynamically
|
||||||
support cooperative calls to :func:`super`. This approach is known in some
|
to support cooperative calls to :func:`super`. This approach is known in some
|
||||||
other multiple-inheritance languages as call-next-method and is more powerful
|
other multiple-inheritance languages as call-next-method and is more powerful
|
||||||
than the super call found in single-inheritance languages.
|
than the super call found in single-inheritance languages.
|
||||||
|
|
||||||
|
|
|
@ -373,7 +373,7 @@ Environment variables
|
||||||
|
|
||||||
If this is the name of a readable file, the Python commands in that file are
|
If this is the name of a readable file, the Python commands in that file are
|
||||||
executed before the first prompt is displayed in interactive mode. The file
|
executed before the first prompt is displayed in interactive mode. The file
|
||||||
is executed in the same name space where interactive commands are executed so
|
is executed in the same namespace where interactive commands are executed so
|
||||||
that objects defined or imported in it can be used without qualification in
|
that objects defined or imported in it can be used without qualification in
|
||||||
the interactive session. You can also change the prompts :data:`sys.ps1` and
|
the interactive session. You can also change the prompts :data:`sys.ps1` and
|
||||||
:data:`sys.ps2` in this file.
|
:data:`sys.ps2` in this file.
|
||||||
|
|
Loading…
Reference in New Issue