Python之is與==的區別
阿新 • • 發佈:2018-05-09
is Python 首先看幾個例子:
# -*-coding=utf-8 -*- a="Hello Python" b="Hello Python" print (a is b) #結果是:True print (a == b) #結果是:True a=[1,2,3] b=[1,2,3] print (a is b) #結果是:False print (a == b) #結果是:True a=[1,2,3] b=a print (a is b) #結果是:True print (a == b) #結果是:True
運行結果:
True True False True True True
is 表示同一性測試
== 表示比較
程序在查檢a is b時,表示id(a)==id(b),而檢查a==b時,調用對象__eq__()方法,相當於a.__eq__(b)
a="Hello Python" b="Hello Python" print (id(a),id(b)) a=[1,2,3] b=[1,2,3] print (id(a),id(b)) a=[1,2,3] b=a print (id(a),id(b))
運行結果:
(82999696L, 82999696L) (83640456L, 83756168L) (83757576L, 83757576L)
Python之is與==的區別