国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python面向對象之類的內置attr屬性示例

2020-02-16 00:08:41
字體:
來源:轉載
供稿:網友

本文實例講述了Python面向對象之類的內置attr屬性。分享給大家供大家參考,具體如下:

這個比較簡單。

代碼示例:

# -*- coding:utf-8 -*-#! python3class Foo:  x = 1;  def __init__(self,y):    self.y = y;  def __getattr__(self,item):    print('----->from getattr:你找的屬性不存在')  def __setattr__(self, key, value):    print('----> from setattr')    #self.key = value       # 正常思維設置,但是只要設置屬性就會觸發這個方法,從而進入死遞歸,    # 所以考慮從字典的屬性入手修改屬性值。    self.__dict__[key] = value  def __delattr__(self,item):    print('----->from delattr')    #del self.item    #這個也是同樣的道理,會進入死遞歸    self.__dict__.pop(item)#_setattr_添加/修改屬性會觸發它的執行f1 = Foo(10)print(f1.__dict__)  #因為你重寫了__setattr__,凡是賦值操作都會觸發它的運行,你啥都沒寫,就是根本沒賦值           #除非你直接操作屬性字典,否則無法賦值 f1.z = 3print(f1.__dict__)#__delattr__刪除屬性的時候會觸發f1.__dict__['a'] = 3  #可以直接修改對象的屬性字典,來完成添加/修改屬性的操作del f1.aprint(f1.__dict__)

運行結果:

----> from setattr
{'y': 10}
----> from setattr
{'y': 10, 'z': 3}
----->from delattr
{'y': 10, 'z': 3}
       
內置attr屬性有三個:__getattr__,___setattr__,__delattr__

如果不重寫,那么就用系統默認的。

更多關于Python相關內容可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌| 廉江市| 通州市| 武强县| 岗巴县| 广丰县| 福安市| 长顺县| 望江县| 墨脱县| 丰宁| 阿拉善右旗| 老河口市| 德化县| 广宗县| 峡江县| 诸城市| 衡山县| 剑阁县| 青岛市| 五寨县| 凤翔县| 建湖县| 亚东县| 昌江| 英山县| 长春市| 姚安县| 卢龙县| 崇左市| 南和县| 观塘区| 晋州市| 时尚| 新晃| 德江县| 昔阳县| 望城县| 海阳市| 彩票| 镶黄旗|