diff options
author | Thomas Wouters <thomas@python.org> | 2000-08-24 20:14:10 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2000-08-24 20:14:10 (GMT) |
commit | 104a7bcc28f96c6192815e82971d660c9910c16b (patch) | |
tree | 9154c2e6b47cc4721c648457e7762e804ca97e2e /Lib/UserString.py | |
parent | 434d0828d81855692d45c3fdc0905a67c17d83ba (diff) | |
download | cpython-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-x | Lib/UserString.py | 11 |
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()) |