是否可以使用初始内存引用重载[] (__getitem__)
Python 运算符和链方法。
想象一下,我有一个Math
接受整数列表的类,如下所示:
class Math(object):
def __init__(self, *args, **kwargs):
assert(all([isinstance(item, int) for item in list(args)]))
self.list = list(args)
def add_one(self):
for index in range(len(self.list)):
self.list[index] += 1
我想做这样的事情:
instance = Math(1,2,3,4,5)
instance[2:4].add_one()
执行此代码后instance.list
应该是[1,2,4,5,5]
,这可能吗?
我知道我可以做类似的事情add_one(2,4)
,但如果可能的话,这不是我想要的 API 风格。
谢谢