is
is a comparison operator, as seen in the docs:
comparison ::= or_expr ( comp_operator or_expr )*
comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!="
| "is" ["not"] | ["not"] "in"
So just like the other comparison operators, it can be chained arbitrarily. So
a = b = c = None
a is b is c
is equivalent to
(a is b) and (b is c)