2011-01-10 6 views

답변

26

MutableString 클래스는 교육용이며 실제 프로그램에는 사용하지 말아야합니다. 구현을 살펴보면 변경 가능한 문자열을 필요로하는 심각한 응용 프로그램에서는 실제로 이것을 사용할 수 없다는 것을 알 수 있습니다.

변경 가능한 테스트 문자열이 필요하면 Python 2.6 및 3.x에서 사용할 수있는 bytearray을 사용하는 것이 좋습니다. 구현은 이전 문자열을 수정할 때마다 새 문자열을 생성하지 않으므로 훨씬 빠르고 더 유용합니다. 또한 버퍼 프로토콜을 적절하게 지원하므로 실제로 모든 곳에서 일반 바이트 테스트 대신 사용할 수 있습니다.

색인으로 한 문자열을 여러 번 수정하지 않으려면 새 문자열을 만들어 일반 문자열을 수정해야합니다 (예 : str.replace, str.formatre.sub). 이 드문 응용 프로그램 간주되기 때문에

, 아니 변경 가능한 유니 코드 문자열이 없습니다,하지만 당신은 항상 하나를 에뮬레이트하고 사용자 정의 시퀀스 유형에 encode 방법 (파이썬 3 또는 __str__) __unicode__을 구현할 수 있습니다.

5

문자열을 변경할 수 없기 때문에 추측합니다. 결국 주된 목적은 "교육적"이었습니다. 문자열을 변경해야하는 경우 문자열 목록 또는 StringIO을 사용하십시오.

관련 문제