home *** CD-ROM | disk | FTP | other *** search
-
- # Augmented assignment test.
-
- x = 2
- x += 1
- x *= 2
- x **= 2
- x -= 8
- x /= 2
- x %= 12
- x &= 2
- x |= 5
- x ^= 1
-
- print x
-
- x = [2]
- x[0] += 1
- x[0] *= 2
- x[0] **= 2
- x[0] -= 8
- x[0] /= 2
- x[0] %= 12
- x[0] &= 2
- x[0] |= 5
- x[0] ^= 1
-
- print x
-
- x = {0: 2}
- x[0] += 1
- x[0] *= 2
- x[0] **= 2
- x[0] -= 8
- x[0] /= 2
- x[0] %= 12
- x[0] &= 2
- x[0] |= 5
- x[0] ^= 1
-
- print x[0]
-
- x = [1,2]
- x += [3,4]
- x *= 2
-
- print x
-
- x = [1, 2, 3]
- y = x
- x[1:2] *= 2
- y[1:2] += [1]
-
- print x
- print x is y
-
- class aug_test:
- def __init__(self, value):
- self.val = value
- def __radd__(self, val):
- return self.val + val
- def __add__(self, val):
- return aug_test(self.val + val)
-
-
- class aug_test2(aug_test):
- def __iadd__(self, val):
- self.val = self.val + val
- return self
-
- class aug_test3(aug_test):
- def __iadd__(self, val):
- return aug_test3(self.val + val)
-
- x = aug_test(1)
- y = x
- x += 10
-
- print isinstance(x, aug_test)
- print y is not x
- print x.val
-
- x = aug_test2(2)
- y = x
- x += 10
-
- print y is x
- print x.val
-
- x = aug_test3(3)
- y = x
- x += 10
-
- print isinstance(x, aug_test3)
- print y is not x
- print x.val
-
- class testall:
-
- def __add__(self, val):
- print "__add__ called"
- def __radd__(self, val):
- print "__radd__ called"
- def __iadd__(self, val):
- print "__iadd__ called"
- return self
-
- def __sub__(self, val):
- print "__sub__ called"
- def __rsub__(self, val):
- print "__rsub__ called"
- def __isub__(self, val):
- print "__isub__ called"
- return self
-
- def __mul__(self, val):
- print "__mul__ called"
- def __rmul__(self, val):
- print "__rmul__ called"
- def __imul__(self, val):
- print "__imul__ called"
- return self
-
- def __div__(self, val):
- print "__div__ called"
- def __rdiv__(self, val):
- print "__rdiv__ called"
- def __idiv__(self, val):
- print "__idiv__ called"
- return self
-
- def __mod__(self, val):
- print "__mod__ called"
- def __rmod__(self, val):
- print "__rmod__ called"
- def __imod__(self, val):
- print "__imod__ called"
- return self
-
- def __pow__(self, val):
- print "__pow__ called"
- def __rpow__(self, val):
- print "__rpow__ called"
- def __ipow__(self, val):
- print "__ipow__ called"
- return self
-
- def __or__(self, val):
- print "__or__ called"
- def __ror__(self, val):
- print "__ror__ called"
- def __ior__(self, val):
- print "__ior__ called"
- return self
-
- def __and__(self, val):
- print "__and__ called"
- def __rand__(self, val):
- print "__rand__ called"
- def __iand__(self, val):
- print "__iand__ called"
- return self
-
- def __xor__(self, val):
- print "__xor__ called"
- def __rxor__(self, val):
- print "__rxor__ called"
- def __ixor__(self, val):
- print "__ixor__ called"
- return self
-
- def __rshift__(self, val):
- print "__rshift__ called"
- def __rrshift__(self, val):
- print "__rrshift__ called"
- def __irshift__(self, val):
- print "__irshift__ called"
- return self
-
- def __lshift__(self, val):
- print "__lshift__ called"
- def __rlshift__(self, val):
- print "__rlshift__ called"
- def __ilshift__(self, val):
- print "__ilshift__ called"
- return self
-
- x = testall()
- x + 1
- 1 + x
- x += 1
-
- x - 1
- 1 - x
- x -= 1
-
- x * 1
- 1 * x
- x *= 1
-
- x / 1
- 1 / x
- x /= 1
-
- x % 1
- 1 % x
- x %= 1
-
- x ** 1
- 1 ** x
- x **= 1
-
- x | 1
- 1 | x
- x |= 1
-
- x & 1
- 1 & x
- x &= 1
-
- x ^ 1
- 1 ^ x
- x ^= 1
-
- x >> 1
- 1 >> x
- x >>= 1
-
- x << 1
- 1 << x
- x <<= 1
-
-