在《深入Python》中,Mark Pilgrim说:
When defining your class methods, you must explicitly list self as the first argument for each method
然后他用代码给出了一些例子:
1 2 3 4 5 6 | def clear(self): self.data.clear() def copy(self): if self.__class__ is UserDict: return UserDict(self.data) import copy return copy.copy(self) |
在网上浏览一些Python代码时,我遇到了
1 2 3 4 | class Logger: @classmethod def debug(msg): print"DEBUG:" + msg |
(注意,在
使用
自我不是也永远不会是隐式的。
"自我不会变得含蓄。
有明确的自我是一件好事。它通过消除变量解析方式的模糊性,使代码更加清晰。它也使得函数和方法之间的差别很小。"
http://www.python.org/dev/peps/pep-3099/