[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