classmethod类方法装饰器:该方法用于操作类属性,无法操作对象属性
class A:
role='male'
@classmethod
def sum(cls): #用于操作类属性
print(cls.role)
A.sum() #用类名调用
--------------------------------------------------------------------------------------
male
十、isinstance和type的区别以及issubclass
isinstance和type都可以用于判断对象和指定类间的关系,但是isinstance的判断没有type准确,它无法正确判断子类的对象和其父类的关系
class A:
pass
class B(A):
pass
b=B()
print(isinstance(b,B))
print(isinstance(b,A))
print(type(b) is B)
print(type(b) is A)
--------------------------------------------------------------------------------------
True
True
True
False