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:36
pythoncontextmanager()的轉換
python中contextmanager()的轉換1、說明當發出請求時,requests庫會在將請求實際發送到目標服務器之前準備該請求。請求準備包括像驗證頭信息和...詳情>>
2023-11-13 06:34:35
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-13 04:24:15
python實例方法中self的作用
python實例方法中self的作用說明1、無論是創建類的構造方法還是實例方法,最少要包含一個參數self。2、通過實例的self參數與對象進行綁定,程序...詳情>>
2023-11-13 03:46:48