码迷,mamicode.com
首页 > 其他好文 > 详细

__setitem__() __getitem__() __delitem__()

时间:2018-11-06 14:36:04      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:erro   turn   获取   color   val   style   item   使用   print   

#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])

 

__setitem__() __getitem__() __delitem__()

标签:erro   turn   获取   color   val   style   item   使用   print   

原文地址:https://www.cnblogs.com/long-holiday/p/9914836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!