Python新手學習基礎之運算符——成員運算與身份運算


成員運算符

Python里有成員運算符,可以判斷一個元素是否在某一個序列中。比如可以判斷一個字符是否屬於這個字符串,可以判斷某個對象是否在這個列表中等等。

Python中的成員操作符的使用語法是:

obj [not] in sequence

這個操作符返回值是True或者False。

看個代碼實例吧:

身份運算符

Python支持對象本身的比較,比較的語法是:

obj1 is [not] obj2

身份運算符是用來比較2個對象是否是同一個對象,而之前比較運算符中的 == 則是用來比較2個對象的值是否相等。

這里需要講下身份運算符是怎么判斷的。

Python中的變量有3個屬性:name、id、value。

name可以理解為變量名,id可以聯合內存地址來理解,value就是變量的值。is運算符則是通過這個id來進行判斷的,id一樣就返回true,否則返回false。

比如:

a = [1, 2, 3]
b = [1, 2, 3]
print( a == b )
print( a is b )

這段代碼輸出的結果是true和false,因為變量a和變量b的value是一樣的,所以用==運算符比較的變量的value,所以返回true。但是用is的時候,比較的是id,a和b的id不一樣(可以使用id(a)來查看a的id),所以返回false。

但是並不是所有的情況都是這樣的,對於小的整數,Python緩存了-5到257之間的所有整數,共262個。所以下面的代碼:

a = 100
b = 100
print( a is b )
 
c = 500
d = 500
print( c is d )

返回結果一個是true,一個是false,false的情況和上面一樣,true的結果是因為Python對小的整數做了處理,還有字符串的情況也是一樣的,使用is都會返回相等。

更多學習內容,就在碼芽網http://www.mayacoder.com/lesson/index

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM