最后一句话什么意思没弄明白
因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
这个无论是
类名.方法 --①
实例.方法 --②
结果都一样,这里说的类方法无法获取任何实例变量,只能获得类的引用是什么意思?
是--①是正确的
然后--②是错的用法?
求解答不太明白
因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
这个无论是
类名.方法 --①
实例.方法 --②
结果都一样,这里说的类方法无法获取任何实例变量,只能获得类的引用是什么意思?
是--①是正确的
然后--②是错的用法?
求解答不太明白
2019-08-17
你可以这样理解,类方法和类属性是类拥有的东西,实例方法和实例属性是实例所拥有的东西,类会将自己的东西无私的共享给所有的实例,所以实例不仅可以调用自己的东西,而且还可以调用类拥有的东西。但是实例却很自私,自己的东西只能自己用,不对自己以外的任何人开放共享。例如:
#coding=utf-8 class Person(object): count = 0 # declare a class variable def __init__(self,name): self.name = name # declare a instance variable @classmethod def get_classFunction(cls): # define a class function return 'A class function' def get_instanceFunction(self): # define a instance function return 'A instance function' p1 = Person('Jason') print p1.count # 实例可以调用类的变量 print Person.count # 类可以调用类的变量 print p1.name # 实例可以调用实例的变量 print Person.name # 类无法调用实例的变量 print p1.get_instanceFunction # 实例可以调用实例的方法 print Person.get_instanceFunction # 类无法调用实例的方法 print p1.get_classFunction # 实例可以调用类的方法 print Person.get_classFunction # 类可以调用类的方法
举报