python面向对象(3)

2020-11-11 16:42:50 浏览数 (1)

类属性

顾名思义,类对象拥有的属性,被该类的所有的实例对象所共同拥有 可以被类对象、实例对象访问

代码语言: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()

此时输出均为我是静态方法

0 人点赞