[] (__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のスタイルではありません。
ありがとう