[Python-checkins] Clarify the behavior of the staticmethod builtin (GH-4362)

Raymond Hettinger webhook-mailer at python.org
Mon Dec 24 02:47:48 EST 2018


https://github.com/python/cpython/commit/e7eed78f04085e6cded0cebcc715364b05e8a71b
commit: e7eed78f04085e6cded0cebcc715364b05e8a71b
branch: master
author: Jess Shapiro <jesse at jesseshapiro.net>
committer: Raymond Hettinger <rhettinger at users.noreply.github.com>
date: 2018-12-23T23:47:38-08:00
summary:

Clarify the behavior of the staticmethod builtin (GH-4362)

files:
M Objects/funcobject.c

diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 2add874fced6..4fab35833d4b 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -838,7 +838,8 @@ PyClassMethod_New(PyObject *callable)
              ...
 
    It can be called either on the class (e.g. C.f()) or on an instance
-   (e.g. C().f()); the instance is ignored except for its class.
+   (e.g. C().f()). Both the class and the instance are ignored, and
+   neither is passed implicitly as the first argument to the method.
 
    Static methods in Python are similar to those found in Java or C++.
    For a more advanced concept, see class methods above.
@@ -945,7 +946,8 @@ To declare a static method, use this idiom:\n\
              ...\n\
 \n\
 It can be called either on the class (e.g. C.f()) or on an instance\n\
-(e.g. C().f()).  The instance is ignored except for its class.\n\
+(e.g. C().f()). Both the class and the instance are ignored, and\n\
+neither is passed implicitly as the first argument to the method.\n\
 \n\
 Static methods in Python are similar to those found in Java or C++.\n\
 For a more advanced concept, see the classmethod builtin.");



More information about the Python-checkins mailing list