rapid introduction to procedural programming the identity operator since all python variables are really object referencesit sometimes makes sense to ask whether two or more object references are referring to the same object the is operator is binary operator that returns true if its left-hand object reference is referring to the same object as its right-hand object reference here are some examplesa ["retention" noneb ["retention" nonea is false is true note that it usually does not make sense to use is for comparing intsstrsand most other data types since we almost invariably want to compare their values in factusing is to compare data items can lead to unintuitive resultsas we can see in the preceding examplewhere although and are initially set to the same list valuesthe lists themselves are held as separate list objects and so is returns false the first time we use it one benefit of identity comparisons is that they are very fast this is because the objects referred to do not have to be examined themselves the is operator needs to compare only the memory addresses of the objects--the same address means the same object the most common use case for is is to compare data item with the built-in null objectnonewhich is often used as place-marking value to signify "unknownor "nonexistent" "somethingb none is not noneb is none (truetrueto invert the identity test we use is not the purpose of the identity operator is to see whether two object references refer to the same objector to see whether an object is none if we want to compare object values we should use comparison operator instead comparison operators python provides the standard set of binary comparison operatorswith the expected semanticsless than<less than or equal to=equal to!not