zoukankan      html  css  js  c++  java
  • __setitem__() __getitem__() __delitem__()

    #item系列 和对象使用[]访问值有联系
    #obj={'k':'v'}
    #print(obj)
    #print(obj['k'])
    
    class B:
        def __getitem__(self, item):
            #print('执行我了',item)
            #return 'bbb'
            return getattr(self,item)
        #getattr(object, name[,default])
        #getattr() 函数用于返回一个对象属性值。
        #object -- 对象。
        #name -- 字符串,对象属性。
        #default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
    
        #获取对象object的属性或者方法
        def __setitem__(self, key, value):
            #print(key,value)
            setattr(self,key,value)
            #
        #object -- 对象。
        #name -- 字符串,对象属性。
        #value -- 属性值。
        def __delitem__(self, key):
            print(key)#这样并没有真的删除b['k']
            delattr(self,key)#delattr 函数用于删除属性。
            #
        #object -- 对象。
        #name -- 必须是对象的属性。
    
    
    b=B()
    b['k']='value'#对象['键']=值 会调用__setitem__()方法
    print(b.k)
    print(b['k'])#对象['键']调用__getitem__()方法
    #现在要删除b['k']
    del b['k']#del 对象['键']调用__delitem__()方法
    print(b['k'])
  • 相关阅读:
    C# Volatile
    C#索引器
    04Prism WPF 入门实战 Module
    No module named '_bz2'
    pandas day01
    实例讲解虚拟机3种网络模式(桥接、nat、Hostonly)
    asp.net 截屏 截取web页面
    c# winform 截图 网页
    delphi AddObject 用法
    DBGrid 更变数据内容显示
  • 原文地址:https://www.cnblogs.com/long-holiday/p/9914836.html
Copyright © 2011-2022 走看看