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

首頁 > 編程 > Python > 正文

Python面向?qū)ο笾惖膬?nèi)置attr屬性示例

2020-01-04 13:49:43
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python面向?qū)ο笾惖膬?nèi)置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       # 正常思維設(shè)置,但是只要設(shè)置屬性就會觸發(fā)這個方法,從而進(jìn)入死遞歸,    # 所以考慮從字典的屬性入手修改屬性值。    self.__dict__[key] = value  def __delattr__(self,item):    print('----->from delattr')    #del self.item    #這個也是同樣的道理,會進(jìn)入死遞歸    self.__dict__.pop(item)#_setattr_添加/修改屬性會觸發(fā)它的執(zhí)行f1 = Foo(10)print(f1.__dict__)  #因?yàn)槟阒貙懥薩_setattr__,凡是賦值操作都會觸發(fā)它的運(yùn)行,你啥都沒寫,就是根本沒賦值           #除非你直接操作屬性字典,否則無法賦值 f1.z = 3print(f1.__dict__)#__delattr__刪除屬性的時候會觸發(fā)f1.__dict__['a'] = 3  #可以直接修改對象的屬性字典,來完成添加/修改屬性的操作del f1.aprint(f1.__dict__)

運(yùn)行結(jié)果:

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

如果不重寫,那么就用系統(tǒng)默認(rèn)的。

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 正宁县| 中宁县| 宜章县| 嘉鱼县| 会昌县| 浦江县| 喀什市| 定安县| 伊川县| 佛坪县| 太和县| 康马县| 汽车| 根河市| 芜湖市| 乐清市| 东兰县| 兴仁县| 龙陵县| 丹凤县| 崇州市| 东平县| 和龙市| 西贡区| 贵州省| 伽师县| 沂源县| 洛南县| 民丰县| 汕尾市| 永年县| 扬州市| 湖北省| 忻城县| 浦东新区| 上饶县| 化州市| 舞阳县| 高清| 繁峙县| 德化县|