Operators are used to doing operations on any given data stored inside variables. In Python, we learn 7 types of operators - namely :
- Arithmetic operators
- Bitwise operators
- Comparison operators
- Assignment operators
- Logical operators
- Identity operators
- Membership operators
I know! I know! This is a basic concept! But let's make it fun!
Addition 9 Subtraction 8
Multiplication 314.0 Division 2.0
Floor division -
//: rounds of the result to the nearest whole number.
%: produces the remainder of the numbers Output:
Floor Division 3 Modulus 1
- Exponentiation - ** : produces the power of given numbers Output:
Exponentiation 0.025517964452291125 Exponentiation 37.78343433288728
Bitwise operators are used to performing operations on binary numbers.
&operator sets each bit to 1 if both bits are 1.
|operator sets each bit to 1 if one of two bits is 1.
^operator sets each bit to 1 if only one of two bits is 1. Output:
AND 82 OR 2039 XOR 1957
Ha Ha, surprised about the outputs?!
The outputs are a result of the binary numbers a and b which gets converted into an integer, each time bitwise operation is performed.
~operator inverts all the bits.
- In python, the number gets converted into an inverted signed number. Output:
- left shift
<<operator shifts left by pushing zeros in from the right and let the leftmost bits fall off.
- right shift
>>operator shifts right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off. Output:
Right shift 277 Left shift 4444
If we level up to be geeky, comparison operators can also be used to compare other data types.
Now, let's start with equality checks and I hope you like spider-man movies.
Alright, I'm sure that you are aware of how to use other operators to compare two number values, right?
OK, now's the time to level up to be geeky.
For the rest of the operators let us compare the letters from the Alphabet.
You heard me right!
Let me explain it at the end of this post.
False True False
True True False
False True True
False True True
Here's the answer for the above craziness.
When we compare two letters (or characters), it gets converted into ASCII code. You can check the link where the table contains 'DEC' (Decimal values) for the characters from Alphabet.
Now that the characters are converted into ASCII code, which is nothing but numbers and we are back to square one.
That is, we can compare the values as numbers and return True or false.
OK, now comes the real fun.
Have ever been tired to use
x = x + 5, where we type the variable x twice?
There's actually a shortcut for this called Augmented assignment operators.
Augmented assignment operators can be used as a replacement as follows:
x += 3 ---> x = x + 3 x -= 3 ---> x = x - 3 x *= 3 ---> x = x * 3 x /= 3 ---> x = x / 3 x %= 3 ---> x = x % 3 x //= 3 ---> x = x // 3 x **= 3 ---> x = x ** 3 x &= 3 ---> x = x & 3 x |= 3 ---> x = x | 3 x ^= 3 ---> x = x ^ 3 x >>= 3 ---> x = x >> 3 x <<= 3 ---> x = x << 3
9 6 18 6.0
64 1 0
0 3 24
So, while coding makes sure you practice to use print statements after each operation.
These operators are very useful for writing logical conditions in control flow statements of a programming language.
Let's code them one by one.
- and operator return the boolean value
Trueonly if both statements are true. Output:
- or operator returns the boolean value
Trueif any statement is true. Output:
- not-operator acts as a unary operator which returns the boolean value
Truethe statement is true and vice versa. Output:
True False True
True False True
Let's go code through each of them.