Python Operators
Operators in Python programming
An operator is a symbol that operates on one or more operands. An operand is a value or a variable on which we perform the operation. Consider the example 6+9, Here 6 and 9 are called operands and + is called operator. Python provides many operators described as follows:
- Arithmetic Operators
- Assignment Operators
- Comparison Operators
- Logical Operators
- Membership Operators
- Bitwise Operators
- Identity Operators
Arithmetic Operator
The Python Arithmetic operators are used to perform basic mathematical operations. The Arithmetic operators are given in below list. Suppose x and y are two variable with values x=30 and y=10 and the result of the operation is also given in below list:
Operators | Description | Example |
+ (Addition) | It is used to add two operands. | x + y =40 |
- (Subtraction) | It is used to subtract two operands. It will give the negative value if the first operand is less than the second operand. | x – y =20 or y – x = -20 |
* (Multiplication) | It is used to multiply the value on either side of operators. | x * y = 300 |
/ (Divide) | It divides the first operand by the second operand and returns the quotient. | x/y = 3.0 |
// (Floor Division) | It is used to divide and returns the integer value of the quotient. | x//y=3 or x=30 y=7 then x//y=4 |
% (Modulus) | It returns reminder after division. | x//y = 0 |
**(Exponent) | It is used to calculate the power of the first operand. | x = 5, y = 2 then x ** 2 = 25 |
Assignment Operators:
The assignment operator is used to assign the value of the right operand to the left operand. The list of assignment operators is given below. Suppose we provide x = 20 and y = 10 then results are following:
Operator | Description | Examples |
= | Assigns value of the right expression to the left operand. | x = 20 |
+= | It is used to add the value on either side and assign expression on the left side. Result is assigned to the right operand. | x+=y is equal to x=x + y therefore x = 30 |
-= | It is used to subtract the value on either side and assign expression on the left side. Result is assigned to the right operand. | x-=y is equal to x=x - y therefore x = 10 |
*= | It multiplies the operands and modifies value assigned to right operand. | x*=y is equal to x = x*y therefore x = 200 |
/= | It divides the operands and modifies value assigned to right operand. | x/=y is equal to x = x/y therefore x = 2.0 |
%= | It calculates the modulus of the values on either side. And assigns result to the expression on the left. | x%=y is equal to x = x% y therefore x = 0 |
**= | It evaluates exponential (power) calculation on operators and assigns value to the left operand | x=20,y=2 x**=2 is equal to x=x**y therefore x=400 |
//= | It performs floor division on operators and assign value to the left operand | x//=y is equal to x = x//y therefore x = 2 |
Comparison operators
Python provides a few comparison operators which are commonly used to compare the value of the two operands.The comparison of these value returns Boolean true or false. These operators are described in the below table. We have assigned x=10 and y= 15.
Operators | Description | Examples |
== | It returns true if the values of the two operands are equal. | x==y is False |
!= | It returns false if the values of the two operands are not equal. | x!=y is True |
<= | If the left operand is less than or equal to the right operand, then it will evaluate True | x<=y is True |
>= | If the left operand is greater than or equal to the right operand, then it evaluates True | x>=y is False |
<> | This operator is similar to !=(not equal) | x<>y is True |
> | If the left operand is greater than the right operand, then it evaluates True | x>y is False |
< | If the right operand is greater than the left operand, then it evaluates True | x<y is True |
Logical Operators
There are three logical operators and, or and not which are used in the conditional statement.
Operators | Description | Examples |
and | The condition becomes true if both expressions are true. | True and False= False |
or | The condition becomes true if any expression is true. | True or False= True |
not | If an expression x is true then not(x) will be false or vica versa. | not(True)= False |
Membership Operators
Membership operators are used to check whether a particular element is a member of a sequence such as string, list, tuple etc. There are two membership operators described in the below table:
Operator | Description | Examples |
in | It is evaluated to be true if an element on left side present in the given right side sequence | 3 in [1,3,4]=True |
not in | It is evaluated to be false if an element on the left side is present in the given right side sequence | 3 not in [1,3,5]=False |
Bitwise Operators
Bitwise Operators perform binary operation on operands bit by bit. Let’s see the example: The variable a is assigned 5 and b is assigned 6 then
a = 5 b = 6 binary (a) = 0101 binary (b) = 0110 Hence a&b = 0100 is equivalent to 4 a|b=0111
Operator | Description | Examples |
~(Complement) | This operator converts the number into a binary number and return it’s one’s complement or flip the bits. ~x is equivalent to –x-1. | a=~5 is evaluated --6 |
&(Binary and) | If both the bits at the same place are 1 then the result is 1 otherwise result is 0 | a=0101, b=0110 a&b =0100 |
|(Binary or) | If both the bits at the same place are 0 then the result is 1 otherwise result is 0 | a=0101, b=0110 a|b =0111 |
^(Binary Xor) | If both bits are different then the result will be 1 otherwise the result will be 0 | a= 0101, b=0110 a^b=0011 |
<<(Binary Left Shift) | The left operand value is shifted left by the number of bits given in the right operand. | a<<2 = 0010100 |
>>(Binary Right Shift) | The left operand value is shifted right by the number of bits given in the right operand. | a>>2=0001 |
Identity Operators
The identity operators are following:
Operator | Description | Examples |
is | If the both operators are referred to same object then it evaluates true. | a = 5, b=5 a is b =True |
is not | If the both operators are referred to same object then it evaluates false. | a = [1,2,3], b =[1,2,3] a is not b =True |
Operator precedence
It is important to know about the precedence of the operator.
Operator Precedence (Decreasing Order) | Description |
** | The Exponential have the highest priority |
~ + - | Complement, unary plus and minus |
* / % // | Multiply, divide, modulo and floor division |
+ - | Addition and subtraction |
>> << | Right and left bitwise shift |
& | Bitwise 'AND' |
^ | | Bitwise `OR' and regular `OR' |
<= < > >= | Comparison operators |
<> == != | Equality operators |
= %= /= //= -= += *= **= | Assignment operators |
is is not | Identity operators |
in not in | Logical operators |
not or and | Logical operators |