operator.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # https://docs.python.org/3/library/operator.html#mapping-operators-to-functions
  2. def le(a, b): return a <= b
  3. def lt(a, b): return a < b
  4. def ge(a, b): return a >= b
  5. def gt(a, b): return a > b
  6. def eq(a, b): return a == b
  7. def ne(a, b): return a != b
  8. def and_(a, b): return a & b
  9. def or_(a, b): return a | b
  10. def xor(a, b): return a ^ b
  11. def invert(a): return ~a
  12. def lshift(a, b): return a << b
  13. def rshift(a, b): return a >> b
  14. def is_(a, b): return a is b
  15. def is_not(a, b): return a is not b
  16. def not_(a): return not a
  17. def truth(a): return bool(a)
  18. def contains(a, b): return b in a
  19. def add(a, b): return a + b
  20. def sub(a, b): return a - b
  21. def mul(a, b): return a * b
  22. def truediv(a, b): return a / b
  23. def floordiv(a, b): return a // b
  24. def mod(a, b): return a % b
  25. def pow(a, b): return a ** b
  26. def neg(a): return -a
  27. def matmul(a, b): return a @ b
  28. def getitem(a, b): return a[b]
  29. def setitem(a, b, c): a[b] = c
  30. def delitem(a, b): del a[b]
  31. def iadd(a, b): a += b; return a
  32. def isub(a, b): a -= b; return a
  33. def imul(a, b): a *= b; return a
  34. def itruediv(a, b): a /= b; return a
  35. def ifloordiv(a, b): a //= b; return a
  36. def imod(a, b): a %= b; return a
  37. # def ipow(a, b): a **= b; return a
  38. # def imatmul(a, b): a @= b; return a
  39. def iand(a, b): a &= b; return a
  40. def ior(a, b): a |= b; return a
  41. def ixor(a, b): a ^= b; return a
  42. def ilshift(a, b): a <<= b; return a
  43. def irshift(a, b): a >>= b; return a
  44. class attrgetter:
  45. def __init__(self, attr):
  46. self.attr = attr
  47. def __call__(self, obj):
  48. return getattr(obj, self.attr)