zoukankan      html  css  js  c++  java
  • day19-3个双下item方法

    #使用双下item方法来实现属性的增删改查:
    # 查:__getitem__  增改:__setitem__  删除: __delitem__
    class Goods:
        def __init__(self,name):
            self.name = name  #{'name':'apple'},self.__dict__[key] = value,
                              # self.__dict__['name'] = 'apple'
        def __getitem__(self,key):
            #if hasattr(self,key):如果self里面有key才返回。
            #    return self.__dict__[key]
            return self.__dict__[key]
        def __setitem__(self,key,value):
            self.__dict__[key] = value  #相当于dic[key]=value,实现字典的增改。
        def __delitem__(self,key):
            del self.__dict__[key]
    
    g = Goods('apple') #g是对象也是字典。
    print(g['name']) #apple,g['name']启动__getitem__方法。查看属性。
    print(g.name) #apple
    
    g['price'] = 8 #启动__setitem__方法来增加属性。
    print(g['price']) #8
    print(g.price) #8
    
    g.__dict__['name'] = 'pear'
    print(g['name']) #pear,启动__setitem__方法来修改属性。
    
    del g['name'] #启动__delitem__来删除属性。
    print(g.__dict__) #{'price': 8}
  • 相关阅读:
    GARP和GVRP
    VLAN间路由
    Voice VLAN
    VLAN
    SSH
    Telnet
    FTP
    DHCP
    STP
    交换机
  • 原文地址:https://www.cnblogs.com/python-daxiong/p/11255123.html
Copyright © 2011-2022 走看看