python描述符的两种类型
python描述符的两种类型
1、分类
数据描述符:实现了__get__和__set__两种方法的描述符
非数据描述符:只实现了__get__一种方法的描述符
2、实例
#数据描述符
classDataDes:
def__init__(self,default=0):
self._score=default
def__set__(self,instance,value):
self._score=value
def__get__(self,instance,owner):
print("访问数据描述符里的__get__")
returnself._score
#非数据描述符
classNoDataDes:
def__init__(self,default=0):
self._score=default
def__get__(self,instance,owner):
print("访问非数据描述符里的__get__")
returnself._score
classStudent:
math=DataDes(0)
chinese=NoDataDes(0)
def__init__(self,name,math,chinese):
self.name=name
self.math=math
self.chinese=chinese
def__getattribute__(self,item):
print("调用__getattribute__")
returnsuper(Student,self).__getattribute__(item)
def__repr__(self):
return"".format(
self.name,self.math,self.chinese)
以上就是Python描述符的两种类型,希望对大家有所帮助。更多Python学习推荐:请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>pythonfor循环是什么
pythonfor循环是什么在做遍历的时候,对于一些数据的反复循环执行,我们会用到for循环的语句。可以说这是新手入门必学的语句之一,在很多基础循...详情>>
2023-11-13 07:46:36pythoncontextmanager()的转换
python中contextmanager()的转换1、说明当发出请求时,requests库会在将请求实际发送到目标服务器之前准备该请求。请求准备包括像验证头信息和...详情>>
2023-11-13 06:34:35python使用items()遍历键值对
python使用items()遍历键值对字典可以用来存储各种方式的信息,所以有很多方式可以通过字典的所有键值对、键或值。说明1、即使通过字典,键值对...详情>>
2023-11-13 04:24:15python实例方法中self的作用
python实例方法中self的作用说明1、无论是创建类的构造方法还是实例方法,最少要包含一个参数self。2、通过实例的self参数与对象进行绑定,程序...详情>>
2023-11-13 03:46:48