Start here. This is the direct spoken answer to practice first.
Overview
Identity and equality answer different questions even when they happen to produce the same result for a particular value.
is asks whether two references identify the exact same object. == asks whether the objects are equal by their value semantics. I use is for singletons and intentional sentinels, especially value is None. I use == for strings, numbers, collections, and domain values. Two separate lists can compare equal while left is right is false because they contain equal values but are different objects.