Skip to main content

2.0 Python: Operators

Operators are used to perform operations on variables and values.

In the example below, we use the + operator to add together two values:

print(10 + 5)

Python divides the operators in the following groups:

  • Arithmetic operators
  • Assignment operators
  • Comparison operators
  • Logical operators
  • Identity operators
  • Membership operators
  • Bitwise operators

2.1 Python Arithmetic Operators

Arithmetic operators are used with numeric values to perform common mathematical operations:

OperatorNameExample
+Additionx + y
-Subtractionx - y
*Multiplicationx * y
/Divisionx / y
%Modulusx % y
**Exponentiationx ** y
//Floor divisionx // y

2.2 Assignment Operators

Assignment operators are used to assign values to variables:

OperatorExampleSame As
=x = 5x = 5
+=x += 3x = x + 3
-=x -= 3x = x - 3
*=x *= 3x = x * 3
/=x /= 3x = x / 3
%=x %= 3x = x % 3
//=x //= 3x = x // 3
**=x **= 3x = x ** 3
&=x &= 3x = x & 3
|=x |= 3x = x | 3
^=x ^= 3x = x ^ 3
>>=x >>= 3x = x >> 3
<<=x <<= 3x = x << 3
:=print(x := 3)x = 3 print(x)

2.3 Comparison Operators

Comparison operators are used to compare two values:

OperatorNameExample
==Equalx == y
!=Not equalx != y
>Greater thanx > y
<Less thanx < y
>=Greater than or equal tox >= y
<=Less than or equal tox <= y

2.4 Logical Operators

Logical operators are used to combine conditional statements:

OperatorDescriptionExample
andReturns True if both statements are truex < 5 and x < 10
orReturns True if one of the statements is truex < 5 or x < 4
notReverses the result; returns False if the result is truenot(x < 5 and x < 10)

2.5 Identity Operators

Identity operators are used to compare the objects, not if they are equal, but if they are actually the same object, with the same memory location:

OperatorDescriptionExample
isReturns True if both variables are the same objectx is y
is notReturns True if both variables are not the same objectx is not y

2.6 Membership Operators

Membership operators are used to test if a sequence is presented in an object:

OperatorDescriptionExample
inReturns True if a sequence with the specified value is present in the objectx in y
not inReturns True if a sequence with the specified value is not present in the objectx not in y

2.7 Bitwise Operators

Bitwise operators are used to compare (binary) numbers:

OperatorNameDescriptionExample
&ANDSets each bit to 1 if both bits are 1x & y
|ORSets each bit to 1 if one of two bits is 1x | y
^XORSets each bit to 1 if only one of two bits is 1x ^ y
~NOTInverts all the bits~x
<<Zero fill left shiftShift left by pushing zeros in from the right and letting the leftmost bits fall offx << 2
>>Signed right shiftShift right by pushing copies of the leftmost bit in from the left, and letting the rightmost bits fall offx >> 2

2.8 Operator Precedence

Operator precedence describes the order in which operations are performed.

2.8.1 Example

Parentheses has the highest precedence, meaning that expressions inside parentheses must be evaluated first:

print((6 + 3) - (6 + 3))

2.8.2 Example

Multiplication * has higher precedence than addition +, and therefore multiplications are evaluated before additions:

print(100 + 5 * 3)

The precedence order is described in the table below, starting with the highest precedence at the top:

note

If two operators have the same precedence, the expression is evaluated from left to right.

2.8.3 Example

Addition + and subtraction - has the same precedence, and therefore we evaluate the expression from left to right:

OperatorDescription
()Parentheses
**Exponentiation
+x -x ~xUnary plus, unary minus, and bitwise NOT
* / // %Multiplication, division, floor division, and modulus
+ -Addition and subtraction
<< >>Bitwise left and right shifts
&Bitwise AND
^Bitwise XOR
|Bitwise OR
== != > < >= <= is is not in not inComparisons, identity, and membership operators
notLogical NOT
andAND
orOR
print(5 + 4 - 7 + 3)