mirror of
https://github.com/python/cpython.git
synced 2025-07-28 13:44:43 +00:00
Merge r60628, r60631, and r60633. Register UserList and UserString will the appropriate ABCs.
This commit is contained in:
parent
017b6a3ad2
commit
882a416900
3 changed files with 14 additions and 45 deletions
|
@ -6,10 +6,11 @@ Note: string objects have grown methods in Python 1.6
|
|||
This module requires Python 1.6 or later.
|
||||
"""
|
||||
import sys
|
||||
import collections
|
||||
|
||||
__all__ = ["UserString","MutableString"]
|
||||
|
||||
class UserString:
|
||||
class UserString(collections.Sequence):
|
||||
def __init__(self, seq):
|
||||
if isinstance(seq, basestring):
|
||||
self.data = seq
|
||||
|
@ -129,7 +130,9 @@ class UserString:
|
|||
def upper(self): return self.__class__(self.data.upper())
|
||||
def zfill(self, width): return self.__class__(self.data.zfill(width))
|
||||
|
||||
class MutableString(UserString):
|
||||
collections.Sequence.register(UserString)
|
||||
|
||||
class MutableString(UserString, collections.MutableSequence):
|
||||
"""mutable string objects
|
||||
|
||||
Python strings are immutable objects. This has the advantage, that
|
||||
|
@ -208,6 +211,10 @@ class MutableString(UserString):
|
|||
def __imul__(self, n):
|
||||
self.data *= n
|
||||
return self
|
||||
def insert(self, index, value):
|
||||
self[index:index] = value
|
||||
|
||||
collections.MutableSequence.register(MutableString)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# execute the regression test to stdout, if called as a script:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue