class MutableString(object):

    def __init__(self, data):
        self.data = list(data)

def __repr__(self):
    return ''.join(self.data)

def __setitem__(self, index, value):
    self.data[index] = value

def __getitem__(self, index):
    if type(index) == slice:
        return ''.join(self.data[index])
return self.data[index]

def __delitem__(self, index):
    del self.data[index]

def __add__(self, other):
    self.data.extend(list(other))

def __len__(self):
    return len(self.data)
Изменяемые строки в Python