I was meaning how they behave in when copying and similar behavior. One basically just needs to remember that assignment of a Python primitives var to another will copy the value, whereas doing the same thing with a collection will generally make a reference instead.
As for this:
>>> b = 65535
>>> a is b
False
I'd expect that behavior in must programming languages. It effectively translates to:
Allocate a variable "a" and assign it the value 65535
Allocate a variable "b" and assign it the value 65536
Is variable "a" literally the variable "b"? No
One could test with == to see if the values are equivalent but, unless "b" is assigned as "a", a is b should evaluate as false because they are two different variables.