1. 程式人生 > >Python進階-----類的內置item屬性方法

Python進階-----類的內置item屬性方法

return style __init__ 進階 mean val 才會 方式 self

類的內置item相關方法只有在通過字典key操作才會觸發
而通過點的方式來操作,則觸發attr相關方法

class Foo:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    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) f = Foo(Jerry,18) #獲取屬性,通過字典key的形式,其實是操作底層__dict__[key]來獲取相應的值 print(f[name]) #執行getitem Jerry #設置(修改)屬性,也是通過字典key的形式,其實是操作底層__dict__[key] = value 來設置(修改)相應的值 f[
name] = Meanwey #執行setitem print(f.__dict__) #{‘name‘: ‘Meanwey‘, ‘age‘: 18} #刪除屬性,通過字典key的形式,其實是操作底層__dict__.pop(key)來刪除相應的屬性和值 del f[age] #執行delitem print(f.__dict__) #{‘name‘: ‘Meanwey‘}

Python進階-----類的內置item屬性方法