The is keyword tests the identity, while ‘ == ‘ is for equality testing.
Your code would be emulated in the interpreter like following:
a = 'abc'
b = ''.join(['a', 'b', 'c'])
a == b
a is b
We can see that they are not the same. In other words, the ‘is’ keyword returns true or false if id of (a) == id of (b).
You can use the following video tutorials to clear all your doubts:-