bpo-34085: Improve wording on classmethod/staticmethod (#8228)
* bpo-34085: Improve wording on classmethod/staticmethod * Address comments from Éric * Address comments from Éric
This commit is contained in:
parent
360e1e4c51
commit
548cb6060a
|
@ -211,19 +211,18 @@ are always available. They are listed here in alphabetical order.
|
|||
@classmethod
|
||||
def f(cls, arg1, arg2, ...): ...
|
||||
|
||||
The ``@classmethod`` form is a function :term:`decorator` -- see the description
|
||||
of function definitions in :ref:`function` for details.
|
||||
The ``@classmethod`` form is a function :term:`decorator` -- see
|
||||
:ref:`function` for details.
|
||||
|
||||
It can be called either on the class (such as ``C.f()``) or on an instance (such
|
||||
A class method can be called either on the class (such as ``C.f()``) or on an instance (such
|
||||
as ``C().f()``). The instance is ignored except for its class. If a class
|
||||
method is called for a derived class, the derived class object is passed as the
|
||||
implied first argument.
|
||||
|
||||
Class methods are different than C++ or Java static methods. If you want those,
|
||||
see :func:`staticmethod` in this section.
|
||||
see :func:`staticmethod`.
|
||||
|
||||
For more information on class methods, consult the documentation on the standard
|
||||
type hierarchy in :ref:`types`.
|
||||
For more information on class methods, see :ref:`types`.
|
||||
|
||||
|
||||
.. function:: compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
|
||||
|
@ -1452,11 +1451,11 @@ are always available. They are listed here in alphabetical order.
|
|||
@staticmethod
|
||||
def f(arg1, arg2, ...): ...
|
||||
|
||||
The ``@staticmethod`` form is a function :term:`decorator` -- see the
|
||||
description of function definitions in :ref:`function` for details.
|
||||
The ``@staticmethod`` form is a function :term:`decorator` -- see
|
||||
:ref:`function` for details.
|
||||
|
||||
It can be called either on the class (such as ``C.f()``) or on an instance (such
|
||||
as ``C().f()``). The instance is ignored except for its class.
|
||||
A static method can be called either on the class (such as ``C.f()``) or on an instance (such
|
||||
as ``C().f()``).
|
||||
|
||||
Static methods in Python are similar to those found in Java or C++. Also see
|
||||
:func:`classmethod` for a variant that is useful for creating alternate class
|
||||
|
@ -1471,8 +1470,7 @@ are always available. They are listed here in alphabetical order.
|
|||
class C:
|
||||
builtin_open = staticmethod(open)
|
||||
|
||||
For more information on static methods, consult the documentation on the
|
||||
standard type hierarchy in :ref:`types`.
|
||||
For more information on static methods, see :ref:`types`.
|
||||
|
||||
|
||||
.. index::
|
||||
|
|
Loading…
Reference in New Issue