Chaining operators like a is b is c
is equivalent to a is b and b is c
.
So the first example is False is False and False is False
, which evaluates to True and True
which evaluates to True
Having parenthesis leads to the result of one evaluation being compared with the next variable (as you say you expect), so (a is b) is c
compares the result of a is b
with c
.