## Arithmetic and Comparison Operators

### Introduction

This chapter covers the various built-in operators, which Python has to offer.### Operators

These operations (operators) can be applied to all numeric types:Operator | Description | Example |
---|---|---|

+, - | Addition, Subtraction | 10 -3 |

*, % | Multiplication, Modulo |
27 % 7 Result: 6 |

/ |
Division
This operation results in different results for Python 2.x (like floor division) and Python 3.x |
Python3:
>>> 10 / 3 3.3333333333333335and in Python 2.x: >>> 10 / 3 3 |

// |
Truncation Division (also known as floordivision or floor division) The result of this division is the integral part of the result, i.e. the fractional part is truncated, if there is any. It works both for integers and floating-point numbers, but there is a difference in the type of the results: If both the divident and the divisor are integers, the result will be also an integer. If either the divident or the divisor is a float, the result will be the truncated result as a float. |
>>> 10 // 3 3If at least one of the operands is a float value, we get a truncated float value as the result. >>> 10.0 // 3 3.0 >>>A note about efficiency: The results of int(10 / 3) and 10 // 3 are equal. But the "//" division is more than two times as fast! You can see this here: In [9]: %%timeit for x in range(1, 100): y = int(100 / x) ...: 100000 loops, best of 3: 11.1 μs per loop In [10]: %%timeit for x in range(1, 100): y = 100 // x ....: 100000 loops, best of 3: 4.48 μs per loop |

+x, -x | Unary minus and Unary plus (Algebraic signs) | -3 |

~x | Bitwise negation |
~3 - 4 Result: -8 |

** | Exponentiation |
10 ** 3 Result: 1000 |

or, and, not | Boolean Or, Boolean And, Boolean Not | (a or b) and c |

in | "Element of" | 1 in [3, 2, 1] |

<, <=, >, >=, !=, == | The usual comparison operators | 2 <= 3 |

|, &, ^ | Bitwise Or, Bitwise And, Bitwise XOR | 6 ^ 3 |

<<, >> | Shift Operators | 6 << 3 |