日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中__setattr__的屬性設(shè)置

1、說明

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、大廠ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大廠網(wǎng)站制作公司

定義類對象管理屬性并將屬性名以及值存儲在一個實例對象中。

self.attrname 以及 instance.attrname 將會調(diào)用類的內(nèi)置方法____setattr____方法。

2、實例

# attr.pyclass AcessControl:
    def __init__(self):
        self.hobby = "basketball"               # 會調(diào)用下面的__setattr__方法
 
    def __setattr__(self, key, value):
        # self.name = "xxxx"                    # 不能在__setattr__上使用self.attr,會導(dǎo)致遞歸應(yīng)用循環(huán)
        print("access control set attr ...")                if key == 'age':
            self.__dict__[key] = value + 10     # 通過內(nèi)建字典來保存屬性數(shù)據(jù)
        else:
            self.__dict__[key] = value            def __delattr__(self, item):
        print("del item[%s]" % item)            def __getattr__(self, item):
        print("get item[%s]" % item)    def test_access_control():
    ac = AcessControl()
    ac.age = 10         # 調(diào)用__setattr__
    print(ac.age)       # 直接輸入值,沒有調(diào)用__getattr__
    print(ac.hobby)     # 當(dāng)屬性有值時,也就是非None是不會調(diào)用__getattr__方法的,如果沒有值,即None就會調(diào)用__getattr__方法
    del ac.age          # 調(diào)用__delattr__
    print(ac.name)      # 調(diào)用__getattr__,調(diào)用未定義的屬性時候就會回調(diào)這個函數(shù)并且返回Noneif __name__ == '__main__':    test_access_control()>>> python attr.py      # 2.x & 3.x

以上就是python中__setattr__的屬性設(shè)置,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


當(dāng)前名稱:創(chuàng)新互聯(lián)Python教程:python中__setattr__的屬性設(shè)置
網(wǎng)頁鏈接:http://m.5511xx.com/article/dhgssdp.html