Skip to content
Related Articles
Python Operators
• Difficulty Level : Easy
• Last Updated : 17 Nov, 2020

Operators in general are used to perform operations on values and variables in Python. These are standard symbols used for the purpose of logical and arithmetic operations. In this article, we will look into different types of Python operators.

1. Arithmetic operators: Arithmetic operators are used to perform mathematical operations like addition, subtraction, multiplication and division.
OperatorDescriptionSyntax
+Addition: adds two operandsx + y
-Subtraction: subtracts two operandsx - y
*Multiplication: multiplies two operandsx * y
/Division (float): divides the first operand by the secondx / y
//Division (floor): divides the first operand by the secondx // y
%Modulus: returns the remainder when first operand is divided by the secondx % y
**Power : Returns first raised to power secondx ** y
 `# Examples of Arithmetic Operator ``a ``=` `9``b ``=` `4`` ` `# Addition of numbers ``add ``=` `a ``+` `b `` ` `# Subtraction of numbers ``sub ``=` `a ``-` `b `` ` `# Multiplication of number ``mul ``=` `a ``*` `b `` ` `# Division(float) of number ``div1 ``=` `a ``/` `b `` ` `# Division(floor) of number ``div2 ``=` `a ``/``/` `b `` ` `# Modulo of both number ``mod ``=` `a ``%` `b `` ` `# Power``p ``=` `a ``*``*` `b`` ` `# print results ``print``(add) ``print``(sub) ``print``(mul) ``print``(div1) ``print``(div2) ``print``(mod)``print``(p)`

Output:

```13
5
36
2.25
2
1
6561
```

Please refer Differences between / and // for some interesting facts about these two operators.

2. Relational Operators: Relational operators compares the values. It either returns True or False according to the condition.
OperatorDescriptionSyntax
>Greater than: True if left operand is greater than the rightx > y
<Less than: True if left operand is less than the rightx < y
==Equal to: True if both operands are equalx == y
!=Not equal to - True if operands are not equalx != y
>=Greater than or equal to: True if left operand is greater than or equal to the rightx >= y
<=Less than or equal to: True if left operand is less than or equal to the rightx <= y
 `# Examples of Relational Operators``a ``=` `13``b ``=` `33`` ` `# a > b is False``print``(a > b)`` ` `# a < b is True``print``(a < b)`` ` `# a == b is False``print``(a ``=``=` `b)`` ` `# a != b is True``print``(a !``=` `b)`` ` `# a >= b is False``print``(a >``=` `b)`` ` `# a <= b is True``print``(a <``=` `b)`

Output:

```False
True
False
True
False
True
```

3. Logical operators: Logical operators perform Logical AND, Logical OR and Logical NOT operations.

OperatorDescriptionSyntax
andLogical AND: True if both the operands are truex and y
orLogical OR: True if either of the operands is truex or y
notLogical NOT: True if operand is falsenot x
 `# Examples of Logical Operator``a ``=` `True``b ``=` `False`` ` `# Print a and b is False``print``(a ``and` `b)`` ` `# Print a or b is True``print``(a ``or` `b)`` ` `# Print not a is False``print``(``not` `a)`

Output:

```False
True
False
```

4. Bitwise operators: Bitwise operators acts on bits and performs bit by bit operation.
OperatorDescriptionSyntax
&Bitwise ANDx & y
|Bitwise ORx | y
~Bitwise NOT~x
^Bitwise XORx ^ y
>>Bitwise right shiftx>>
<<Bitwise left shiftx<<
 `# Examples of Bitwise operators``a ``=` `10``b ``=` `4`` ` `# Print bitwise AND operation  ``print``(a & b)`` ` `# Print bitwise OR operation``print``(a | b)`` ` `# Print bitwise NOT operation ``print``(~a)`` ` `# print bitwise XOR operation ``print``(a ^ b)`` ` `# print bitwise right shift operation ``print``(a >> ``2``)`` ` `# print bitwise left shift operation ``print``(a << ``2``)`

Output:

```0
14
-11
14
2
40
```

5. Assignment operators: Assignment operators are used to assign values to the variables.

OperatorDescriptionSyntax
=Assign value of right side of expression to left side operandx = y + z
+=Add AND: Add right side operand with left side operand and then assign to left operanda+=b     a=a+b
-=Subtract AND: Subtract right operand from left operand and then assign to left operanda-=b       a=a-b
*=Multiply AND: Multiply right operand with left operand and then assign to left operanda*=b       a=a*b
/=Divide AND: Divide left operand with right operand and then assign to left operanda/=b         a=a/b
%=Modulus AND: Takes modulus using left and right operands and assign result to left operanda%=b   a=a%b
//=Divide(floor) AND: Divide left operand with right operand and then assign the value(floor) to left operanda//=b       a=a//b
**=Exponent AND: Calculate exponent(raise power) value using operands and assign value to left operanda**=b     a=a**b
&=Performs Bitwise AND on operands and assign value to left operanda&=b     a=a&b
|=Performs Bitwise OR on operands and assign value to left operanda|=b         a=a|b
^=Performs Bitwise xOR on operands and assign value to left operanda^=b       a=a^b
>>=Performs Bitwise right shift on operands and assign value to left operanda>>=b     a=a>>b
<<=Performs Bitwise left shift on operands and assign value to left operanda <<= b                    a= a << b

6. Special operators: There are some special type of operators like-
• Identity operators-
is and is not are the identity operators both are used to check if two values are located on the same part of the memory. Two variables that are equal does not imply that they are identical.
```is          True if the operands are identical
is not      True if the operands are not identical ```
 `# Examples of Identity operators``a1 ``=` `3``b1 ``=` `3``a2 ``=` `'GeeksforGeeks'``b2 ``=` `'GeeksforGeeks'``a3 ``=` `[``1``,``2``,``3``]``b3 ``=` `[``1``,``2``,``3``]`` ` ` ` `print``(a1 ``is` `not` `b1)`` ` ` ` `print``(a2 ``is` `b2)`` ` `# Output is False, since lists are mutable.``print``(a3 ``is` `b3)`

Output:

```False
True
False
```
• Membership operators-
in and not in are the membership operators; used to test whether a value or variable is in a sequence.
```in            True if value is found in the sequence
not in        True if value is not found in the sequence```
 `# Examples of Membership operator``x ``=` `'Geeks for Geeks'``y ``=` `{``3``:``'a'``,``4``:``'b'``}`` ` ` ` `print``(``'G'` `in` `x)`` ` `print``(``'geeks'` `not` `in` `x)`` ` `print``(``'Geeks'` `not` `in` `x)`` ` `print``(``3` `in` `y)`` ` `print``(``'b'` `in` `y)`

Output:

```True
True
False
True
False```
7. Precedence and Associativity of Operators: Operator precedence and associativity as these determine the priorities of the operator.
• Operator Precedence: This is used in an expression with more than one operator with different precedence to determine which operation to perform first.
 `# Examples of Operator Precedence`` ` `# Precedence of '+' & '*' ``expr ``=` `10` `+` `20` `*` `30``print``(expr) `` ` `# Precedence of 'or' & 'and' ``name ``=` `"Alex"``age ``=` `0``   ` `if` `name ``=``=` `"Alex"` `or` `name ``=``=` `"John"` `and` `age >``=` `2` `:  ``    ``print``(``"Hello! Welcome."``) ``else` `: ``    ``print``(``"Good Bye!!"``)`

Output:

```610
Hello! Welcome.
```
• Operator Associativity: If an expression contains two or more operators with the same precedence then Operator Associativity is used to determine. It can either be Left to Right or from Right to Left.
 `# Examples of Operator Associativity`` ` `# Left-right associativity ``# 100 / 10 * 10 is calculated as  ``# (100 / 10) * 10 and not  ``# as 100 / (10 * 10) ``print``(``100` `/` `10` `*` `10``) ``   ` `# Left-right associativity ``# 5 - 2 + 3 is calculated as  ``# (5 - 2) + 3 and not  ``# as 5 - (2 + 3) ``print``(``5` `-` `2` `+` `3``) ``   ` `# left-right associativity ``print``(``5` `-` `(``2` `+` `3``)) ``   ` `# right-left associativity ``# 2 ** 3 ** 2 is calculated as  ``# 2 ** (3 ** 2) and not  ``# as (2 ** 3) ** 2 ``print``(``2` `*``*` `3` `*``*` `2``)`

Output:

```100.0
6
0
512```

## Quiz on Python Operators

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

My Personal Notes arrow_drop_up