Класс MutableString
должен был быть образовательным, а не использоваться в реальных программах.Если вы посмотрите на реализацию, вы увидите, что вы не можете использовать ее в серьезном приложении, требующем изменяемых строк.
Если вам нужны изменяемые строки, вы можете рассмотреть возможность использования bytearray
, доступного в Python2.6 и 3.х.Реализация не создает новые строки каждый раз, когда вы изменяете старую, поэтому она намного быстрее и удобнее в использовании.Он также поддерживает буферный протокол должным образом, поэтому его можно использовать вместо обычной строки тестирования практически везде.
Если вы на самом деле не собираетесь делать много модификаций одной строки по индексу, измените нормальную строку с помощьюсоздание нового должно вам подойти (например, через str.replace
, str.format
и re.sub
).
Не существует изменяемых строк Unicode, потому что это считается необычным приложением, но вы всегда можете реализоватьМетоды __unicode__
(или __str__
для Python 3) и encode
в пользовательском типе последовательности для эмуляции одного.