一、in 與 not in
python 中,in 與 not in 是用來作為邏輯判斷的另一種方式。(與linux 的grep 命令有一定類似)
文字解釋可以理解成這樣。
in 右側的內容里,是否包含了左側的內容。 包含返回真,不包含返回假。
not in 右側的內容里是否不包含左側的內容。不包含返回真,包含返回假。
in 與 not in 可以放在任何允許添加條件判斷的位置。如while 、 if 等。
格式
if str1 in str2:
do xxx
else
do xxx
示例:
#定義變量num值為字符串123
num = "123"
#定義變量num2為int 值 1 num2 = 1
#while 循環條件為,如果變量num 包含字符串2,則循環進行,並打印hehe while "2" in num: print("hehe")
#每次循環,num2都會自增加1 num2 += 1
#當num 值等於2 時,停止本次while 循環(break 為中斷本次循環) if num2 == 3: break
#最后打印over值 print("over")
#解釋:
運行結果
二、運算符
> 大於
< 小於
>= 大於等於
<= 小於等於
!= 不等於 (也可以寫作 <>)
== 等於 (1個 = 為賦值變量)
not 對結果取反 (not in not True 等)
and :
一般為 1 >2 and 2<1 翻譯為1大於2並且 2小於1。 只有and 兩側的結果都是真,才返回真,有任何一個結果是False 都會返回假。
or :
一般為 1 >2 or 2 > 1 翻譯為 1 大於2 或者 2 大於1 。 or 兩側的結果,有任何一個是真,返回結果就是真。只有全部為 False 才會返回False。
注:如果一行代碼,有多個and 和 or 可以通過 () 小括號,判斷優先級。
如: 1<2 or 1 >3 and 1< 3 or 2 >1 這種就很難看出對應關系,就可以寫成
(1<2 or 1 >3 and 1< 3 )or 2 >1 翻譯為: 1小於2 或者 1 大於3並且1小於3 。(結果都不成立)亦或者 2大於 1。 最終返回真。
運行結果
(1<2 or 1 >3 )and (1< 3 or 2 >1 ) 翻譯為:1小於2 或者 1大於3(因為1小於2所以返回真) 並且 1小於3 或者 2大於1(返回真) 。最終為真
運行結果
由於小括號限制了優先級,所以不同的優先級,返回結果可能是不一樣的。
總結:
結果是值
a = 10 * 10
賦值運算
a = a+2 a += 2
結果是布爾值
比較運算
a = 1 > 5
邏輯運算
a = 1 > 6 or 1 == 1
成員運算
a = "1" in "123"