Python中 == 表示式和 is 的區別
例1: x和y是兩個列表,它們的值相同,但不是同一個物件
>>> x = [1, 2, 3]
>>> y = [1, 2, 3]
>>> x == y
True
>>> x is y
False
>>>
例2: x和y是同一個物件
>>> x = [1, 2, 3]
>>> y = x
>>> x is y
True
例3: 字典是無序的,所以x和y的值相同
>>> x = {1:2, 4:8}
>>> y = {4:8, 1:2}
>>> x is y
False
>>> x == y
True
例4: 元組是有序的,所以x和y的值不同:
>>> x = (1,2,3)
>>> y = (3,2,1)
>>> x == y
False
>>> x is y
False
提示:不要用is比較數值或者字串,因為結果不可預測,比如:
>>> x = 3
>>> y = 3
>>> x == y
True
>>> x is y
True
>>> id(x)
35157960L
>>> id(y)
35157960L
如果x is y,即兩者是同一物件,那麼兩者記憶體地址一樣,即id(x) == id(y)
相關推薦
Python中 == 表示式和 is 的區別
x == y表示兩個物件的值相同,x is y表示兩者是同一個物件例1: x和y是兩個列表,它們的值相同,但不是同一個物件>>> x = [1, 2, 3]>>> y = [1, 2, 3]>>> x == yTrue&g
python中的 == 和 is 的區別
-s 對比 不能 -- 其他 ont clas 通過 數字 == 比較的是兩邊的值 is 比較的是兩邊的內存地址 通過 id()獲取內存地址 小數據池:我們使用過的值存儲在小數據池中,供其他數據使用. 小數據池僅限於 數字 和 字符串: 數字的小數池範圍 -
python中的==和is的使用(中文字串與英文字串有區別)
1.python中的==比較的是物件的值,而非物件本身,例:(這裡比較了數字、英文字串、中文字串、表) 從這看出==比較的只是值,而非物件本身 2.python中的is和is not判斷是否為同一物件(其實是根據內建函式id取得物件的唯一標識去判斷的),例:
Python中__repr__和__str__區別
close 提示 bsp pri urn 創建 pla 不同 並不是 1.先看區別 1 class Test(object): 2 def __init__(self, value=‘hello, world!‘): 3 self.data
Python中運算子"=="和"is"的差別分析
Python有兩個用於相等比較的運算子,“is”和“==”(等於)。在這篇文章中,我將帶你們瞭解Python中“is”和“==”的區別,並通過幾個簡單地例子說明應該在什麼時候使用它們,我們先來看一個情景: 當我還是一個孩子的時候,我們的鄰居家有兩隻雙胞胎貓。 這兩隻貓看起
Python中break和continue區別
break跳出整個迴圈,而continue跳出本次迴圈 continue語句用來告訴python跳過當前迴圈,進行下一個迴圈 break語句用來終止迴圈語句,即迴圈條件沒有False條件或者序列還沒被完全遞迴完,也會停止執行迴圈語句。 break和continue語
Python 中 For 和 While 區別
1.for迴圈是遍歷列表和元組,而while迴圈只要迴圈不滿足,則會結束迴圈 #for..in迴圈,遍歷列表和元組 list1 = [1,2,3,4,5] for i in list1: print(i) tuple1 = (1,2,3,4,5) for m in tuple1
Python 中classmethod和staticmethod區別
Though classmethod and staticmethod are quite similar, there's a slight difference in usage for both entities: classmethod must have a reference to a c
【Python】Python中語句和表示式的區別
表示式:表達是某件事 語句:表達是做某件事 >>>4*2 8 >>>print (4*2) 8 上述表示式結果一樣,是因為互動式直譯器總是把所有的表示
Python中sort()和sorted()的區別
-s 可變對象 傳遞 內置函數 ict pan 16px nbsp lin 1、sort()是可變對象(字典)的方法,無參數,無返回值, sort()會改變可變對象,因此無需返回值。例如: list: 1 >>> a = [4,3,7,8] 2 >
python中return和print的區別
bsp 不同 urn text 一是 什麽 cnblogs style c99 之前遇到這個問題,就試著對比幾種不同的結果,總結啦一下return和print的區別。 總結: return的作用之一是返回計算的值print的作用是輸出數據到控制端在第一個結果中什麽都沒
Python 中 Iterator和Iterable的區別
pytho 數據 執行 next 判斷 -h 實現 col http (轉載:http://blog.csdn.net/passionkk/article/details/49929887) Python中 list,truple,str,dict這些都可以被叠代,但他們並
python中%r和%s的區別
ould mat mark post inf info repr pan formatter %r用rper()方法處理對象 %s用str()方法處理對象 有些情況下,兩者處理的結果是一樣的,比如說處理int型對象。 例一: print "I am %d years o
Python 中copy和deepcopy的區別
deepcopy 改變 般的 blog 等於 div copy clas 但是 import copy 假設在python中對list的復制 copy稱為淺復制 deepcopy稱為深復制 淺復制和深復制在一般的list中作用是相同的,都是進行一個復制 但是在list嵌套l
Python中sys和os模塊的區別
tro nes with span ren ocs acc input.h open() sys: This module provides access to some variables used or maintained by the interpreter an
python 中if和elif的區別
pre else bsp 判斷 nbsp 優秀 自動 滿足 lse 如果程序中判斷事件很多,全部用if的話,會遍歷整個程序,用elif 程序運行時,只要if或後續某一個elif之一滿足邏輯值為True,則程序執行完對應輸出語句後自動結束該輪if-elif(即不會再去冗余地執
python中sys和os的區別
move ali 去掉 操作系統 格式 自動 form 出現 class <os和sys的官方解釋> ?os os: This module provides a portable way of using operating system depe
Python中*args和**kwargs的區別
注:《python核心程式設計第2版》的11.6可變長度的引數—章節中有詳細介紹。 python中我們經常見到,有些函式的引數中有*args和kwargs,那這兩個引數是什麼意思呢? 沒錯,*args和kwargs就是python中的可變引數。 可能很多人用了幾年的 Python 都沒真
Python中send和sendall的區別
官方文件對socket模式下的socket.send() 和 socket.sendall()解釋如下: sock.sendall(string[, flags]) Send data to the socket. The socket mu
Python 中 raise 和 raise/from 的區別
Python 中 raise 和 raise/from 的使用方法 文章目錄 Python 中 raise 和 raise/from 的使用方法 0. 參考資料 1. 程式碼比較 2. 用法解釋 2.1 ra