python面向對象--item方法


class Foo:
    def __getitem__(self, item):
        print("getitem")
        return self.__dict__[item]

    def __setitem__(self, key, value):
        print("setitem")
        self.__dict__[key]=value

    def __delitem__(self, key):
        print("delitem")
        self.__dict__.pop(key)

f1=Foo()
print(f1.__dict__)
# f1.name="egon"
f1['name']="egon"
f1["age"]="20"

print(f1.__dict__)

del f1["name"]
print(f1.__dict__)

f1['age']
print(f1['age'])

#點的方式操作的屬性與getattr相關,中括號操作的屬性與item相關
#item方法注意是通過下標來訪問字典,getattr通過.號訪問實例屬性,__getitem__方法只有當self的屬性存在時通過下標訪問時才會觸發,__getattr__當訪問self的屬性不存在時候觸發

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM