判断相等方法有好几个:== 、is 、 isinstance 、issubclass 、operator 模块。
== :两个对象内容是否相等。
>>> a = [22,44]
>>> b = [22,44]
>>> a==b
True
>>> c = 1
>>> d = 2
>>> c == d
False
is :对象占用的内存地址是否一样 ,通过id方法可以知道内存地址是否一样。
>>> a = (1,2,3)
>>> b = a
>>> a is b
True
>>> c = (1,2,3)
>>> d = (1,2,3)
>>> c is d
False
>>>
isinstance:isinstance
(object, classinfo) 如果对象参数是classinfo参数的一个实例,或者是一个(直接的、间接的或虚拟的)子类,则返回true,否则false。classinfo可能是一类对象的元组,在这种情况下,classinfo中的每个条目都会被检查。
>>> isinstance(a,int)
True
>>> isinstance(a,float)
False
issubclass :issubclass
(class, classinfo) 如果class是classinfo的子类(直接、间接或虚拟),则返回true,否则false。classinfo可能是一类对象的元组,在这种情况下,classinfo中的每个条目都会被检查。
>>> issubclass(int,float)
False
>>> issubclass(int,object)
True
>>>
operator
:https://docs.python.org/3/library/2to3.html?highlight=operator#2to3fixer-operator