判斷相等方法有好幾個:== 、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