类的额特殊成员之setitem、getitem、delitem

创建字典的时候可以:

dic=dict(k1=123,k2=456)

注意对象加上中括号就是默认执行getitem方法。

对象加上中括号自动执行getitem方法。

r['xxx']=123:

def __setitem__(self,key,value):

   print(key,value)

注意对象加括号、对象加中括号,对象加中括号,还有等号,执行的函数是不同的

r=Foo() __init__

r()       __call__

r['k1']  __getitem__

r['k1']=123  __setitem__

del r['k2']     __delitem__

r[1:3]:注意切片的时候还是会执行__getitem__方法,但是在Python2.7用的是__getslice__方法

 通过切片或者是索引来取值的话,都是执行的getitem()方法

 

posted @ 2017-02-28 22:18  关泉珍  阅读(96)  评论(0)    收藏  举报