http://bestchenwu.iteye.com/blog/1048395
通常情况下,如果我们要使用一个类的方法,那我们只能将一个类实体化成一个对象,进而调用对象使用方法。
比如:
第一个函数为普通的类方法,需要传入一个self,即类实例来调用,而第二个方法为一个独立于类结构的方法。
注意:@classmethod 仅仅适用于单独的,与类本身的数据结构无关函数,其实用了它的函数,与使用普通函数无异,甚至不能在参数里加入 self,如果要在其中使用类的数据结构,仍然需要将类实例化一次才可以,所以要小心使用。
让我们更进一步看看foo()函数到底传入的是什么东西?稍微做下改造:
由此可以看出foo函数里传入的的确是类C,而非实例c,证明了它跟实例无关