# .css-df1pn7{display:block;width:16rem;}      Photo by Jess Bailey on Unsplash

## Written by Jacqueline Lim

Jacqueline Lim
·Feb 3, 2022·

• What will I be covering today?

# What will I be covering today?

I will be going through the advanced types of operators as this is going to be a continuation of my last post, 'Learning about common operators in Python'.

## What are the types of advanced operators in Python?

The more advanced types of operators can be classified as Membership operators, Identity operators, and Bitwise operators.

### Membership operators:

• in operators
• not in operator

Here's how to use the in operator:

In the example below, the in operator checks if a value (x) is in another value (y), if the value (x) is in another value (y) then it returns True.

``````x = 1
y = [0, 1, 2]
is x in y?
#output: True
x = 'hello'
y = 'world'
Is x in y?
#output: False
``````

Here's how to use not in operator:

In the example below, the not-in operator checks if a value (s) is not in another value (t), if the value is not in another value then it returns True, otherwise, it returns False.

``````s = 0
t = [0, 1, 3]
Is s not in t?
#output: False (as s is in t)
s = 'hello'
t = 'world'
Is s not in t?
#output: True (as s is not in t)
``````

### Identity operators:

• is
• is not

Here's how to use is operator:

In the example below, the is operator compares 2 values (o and n) and returns True if both values are the same, otherwise, it returns False.

``````o = 9
n = 9
o is n
#output: True
o = 10
n = 11
o is n
#output: False
``````

Here's how to use is not operator:

In the example below, the is operator compares 2 values (c and b) and returns a False if both values are the same, otherwise, it returns True.

``````c = 9
b = 9
c is not b
#output: False
c = 'hello'
b = 'welcome'
c is not b
#output: True
``````

### Bitwise operators:

• & (Bitwise And)
• | (Bitwise Or)
• ^ (Bitwise xor)
• ~ (Bitwise 1's complement)
• << (Bitwise left-shift)
• (>>) (Bitwise right-shift)

Here's how to use the bitwise and operator:

In the example below, the bitwise and (&) operator does logical And on the corresponding bits in the values (v and k).

``````v = 3 (bits - 011)
k = 5 (bits - 101)
v & k
#output:  1 (bits - 001)
``````

Here's how to use the bitwise or operator:

In the example below, the bitwise or operators perform logically Or on corresponding bits in the values (a and b).

``````a = 9 (bits - 1001)
b = 6 (bits - 0110)
a | b (1001 or 0110 = 1101)
#output: 15
``````

Here's how to use the bitwise xor operator:

In the example below, the bitwise xor operator (^) performs logical XOR on corresponding bits in values (o and g).

``````o = 9
g = 5
o^g
#output: 12 (1001^0101 = 1010)
``````

Here's how to use the bitwise 1's operator:

In the example below, the bitwise 1's (~) operator inverts the bits of the corresponding value (p) and adds 1 to that value (p).

``````p = 5 (bits - 101)
~p
#output: 6 (~101 = 5 + 1 (110))
``````

Here's how to use the bitwise left-shift operator:

In the example below, the bitwise left-shift (<<) operator moves/shifts the bits for a value (v) left by a certain number of spaces specified (w), and it adds 0s to new positions.

``````v = 5 (101)
w = 2
v << w (10100 = 16 + 4)
#output: 20 (because the value got shifted left 2 times)
``````

Here's how to use the bitwise right operator:

In the example below, the bitwise-right (>>) operator moves/shifts the bits for a value (o) right by a certain number of spaces (d), and it adds 0s to new positions, and some bits will be lost in the process.

``````o = 5 (101)
d = 2
o>>d (00001)
#output: 1 (because the bits got shifted right twice)
``````

## Conclusion

Whilst learning about more advanced operators that are in Python, I was surprised about the bitwise operators as I had used some of them before but I had no idea that there were more bitwise operators.

Learn about more operators and how they can be used!