相同點(diǎn):在兩側(cè)均為邏輯值時(shí)兩者用法沒(méi)有區(qū)別,即兩邊為T(mén)rue或False 或者 是表達(dá)邏輯值的表達(dá)式(比如3>5)
不同:以下通過(guò)舉例說(shuō)明:
情況一:兩側(cè)都為數(shù)字
?? c、c++、java中&&:?? ??||
?? ?????1&&0 結(jié)果為0?? ?1||0 結(jié)果為1
?? ?????1&&3 結(jié)果為1?? ?0||0 結(jié)果為0
?? python中:
?? ?????a and b ?? 若a為false 結(jié)果為a
?? ???????????????若a為true 結(jié)果為b
>>> 1 and 3
3
>>> 0 and 3
0
>>> 3 and 1
1
>>> 3 and 0
0
>>> 0 and 1
0
>>> 1 and 0
0
?? ?????a or b ?? 若a為false 結(jié)果為b
????????????????若a為true 結(jié)果為a
>>> 0 or 1
1
>>> 0 or 3
3
>>> 1 or 0
1
>>> 1 or 3
1
情況二:一側(cè)為數(shù)字,一側(cè)為其他類型
?? ???? ?數(shù)字在前,遵循情況一的結(jié)果
?? ???? ?字母在前,打印后面數(shù)字(不管數(shù)字代表是否為true或false)
>>> 'python' and 1
1
>>> 'python' and 0
0
>>> 1 and 'python'
'python'
>>> 0 and 'python'
0
情況二:兩側(cè)都為其他類型
?? ???? ?打印后面的內(nèi)容
>>> 'hg' and 'ij'
'ij'
碼子不易,點(diǎn)個(gè)贊鼓勵(lì)一下唄!