首页 > 编程语言 > 详细

python:item系列(__getitem__ __setitem__ __delitem__)

时间:2021-02-24 10:21:07      阅读:19      评论:0      收藏:0      [点我收藏+]

 

一、Python :item系列(__getitem__ __setitem__ __delitem__)

class B:
    def __str__(self):
        return 123456
    def __getitem__(self, item):
        print(self, item)
        return getattr(self, item)
    def __setitem__(self, key, value):
        print(self, key, value)
        setattr(self, key, value)
    def __delitem__(self, key):
        print(self, key)
        delattr(self, key)
b = B()
b[k] = v1
print(b[k])
# del b[‘k‘]
print(b[k])
print(b)

运行结果:

123456 k v1
123456 k
v1
123456 k
v1
123456

二、item系列操作列表

class B:
    def __init__(self, lst):
        self.lst = lst
    def __getitem__(self, item):
        return self.lst[item]
    def __setitem__(self, key, value):
        self.lst[key] = value
    def __delitem__(self, key):
        self.lst.pop(key)
b = B([111,222,333,444,555])
print(b.lst[0])
print(b[0])
b[0] = 1111
print(b.lst)
del b[1]
print(b.lst)

运行结果:

111
111
[‘1111‘, ‘222‘, ‘333‘, ‘444‘, ‘555‘]
[‘1111‘, ‘333‘, ‘444‘, ‘555‘]

 

python:item系列(__getitem__ __setitem__ __delitem__)

原文:https://www.cnblogs.com/codinglifemrgao/p/14439485.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!