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:
Andre Delfino 2019-03-25 19:53:43 -03:00 committed by Cheryl Sabella
parent 360e1e4c51
commit 548cb6060a
1 changed files with 10 additions and 12 deletions

View File

@ -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::