当前位置: 首页 > 图灵资讯 > 行业资讯> Python描述符的两种类型

Python描述符的两种类型

来源:图灵python
时间: 2024-08-21 22:23:40

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"<Student:{},math:{},chinese:{},>".format(
self.name,self.math,self.chinese)

以上是Python描述符的两种类型,希望对大家有所帮助。更多Python学习推荐:python教学

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。