[Python中的方法在什么时候获得get
属性? —一旦在班级中定义了它们?为什么Python让我定义一个没有任何参数(甚至没有第一个self
参数)的方法?
我知道如何使用classmethod
和staticmethod
,并且我知道它们是内置函数,但是如此修饰的函数会怎样?
本质上,我想知道类定义和类构造之间发生的“魔术”。
检查此。
http://docs.python.org/howto/descriptor.html#static-methods-and-class-methods
您还可以在funcobject.c中查看类和静态方法对象的源代码:
http://hg.python.org/cpython/file/69b416cd1727/Objects/funcobject.c
[类方法对象定义在第694行开始,而静态方法对象定义在第852行开始。(我确实觉得很有趣,当methodobject.c也存在时,它们在funcobject.c中具有标题为“ method”的项。)] >
供参考,来自@JAB回答中的the first link