类属性
顾名思义,类对象拥有的属性,被该类的所有的实例对象所共同拥有 可以被类对象、实例对象访问
代码语言:javascript复制class Gun(object):
length = 10
wuzi = Gun()
print(Gun.length)
print(wuzi.length)
均输出为10
修改类属性
此时不能用实例对象修改类属性,如果还是用实例对象修改类属性,那么相当于自己创建了一个新的实例属性,而并没有修改类属性,唯一方法是通过类属性进行直接修改
类方法
类方法一般用于获取类对象,常与类属性一起使用
代码语言:javascript复制class Gun(object):
__length = 10
@classmethod
def get_length(cls):
return cls.__length
注意此时self改为cls,并且有一个装饰器@classmethod
静态方法
不需要写cls/self 能通过实例对象和类对象访问,为了减少内存消耗
代码语言:javascript复制class Gun(object):
__length = 10
@staticmethod
def method(cls):
print('我是静态方法')
Gun.method()
wuzi = Gun()
wuzi.method()
此时输出均为我是静态方法