summaryrefslogtreecommitdiffstats
path: root/Lib/UserString.py
diff options
context:
space:
mode:
authorThomas Wouters <thomas@python.org>2000-08-24 20:14:10 (GMT)
committerThomas Wouters <thomas@python.org>2000-08-24 20:14:10 (GMT)
commit104a7bcc28f96c6192815e82971d660c9910c16b (patch)
tree9154c2e6b47cc4721c648457e7762e804ca97e2e /Lib/UserString.py
parent434d0828d81855692d45c3fdc0905a67c17d83ba (diff)
downloadcpython-104a7bcc28f96c6192815e82971d660c9910c16b.zip
cpython-104a7bcc28f96c6192815e82971d660c9910c16b.tar.gz
cpython-104a7bcc28f96c6192815e82971d660c9910c16b.tar.bz2
Support for augmented assignment in the UserList, UserDict, UserString and
rfc822 (Addresslist) modules. Also a preliminary testcase for augmented assignment, which should actually be merged with the test_class testcase I added last week.
Diffstat (limited to 'Lib/UserString.py')
-rwxr-xr-xLib/UserString.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/UserString.py b/Lib/UserString.py
index 070b3e1..34f3216 100755
--- a/Lib/UserString.py
+++ b/Lib/UserString.py
@@ -50,9 +50,20 @@ class UserString:
return self.__class__(other + self.data)
else:
return self.__class__(str(other) + self.data)
+ def __iadd__(self, other):
+ if isinstance(other, UserString):
+ self.data += other.data
+ elif isinstance(other, StringType) or isinstance(other, UnicodeType):
+ self.data += other
+ else
+ self.data += str(other)
+ return self
def __mul__(self, n):
return self.__class__(self.data*n)
__rmul__ = __mul__
+ def __imull__(self, n):
+ self.data += n
+ return self
# the following methods are defined in alphabetical order:
def capitalize(self): return self.__class__(self.data.capitalize())