python中and和or的使用方法


今天看了一個源代碼,甚是對python不解,於是查了下資料,只是糾正下網上的老兄的解釋

python 中的and從右到左計算表達式。若全部值均為真,則返回最后一個值。若存在假,返回第一個假值。

or 從左到右計算表達式。返回第一個為真的值。

IDLE 1.2.4
>>>'a'and'b'# 等價於if( 'b' ) return 'b' return 'a' 從右向左
'b'
>>>''and'b'#...
''
>>>'a'or'b'#等價於if( 'a' )return 'a' return 'b' 從左向右
'a'
>>>''or'b'
'b'
類似三目表達式的使用方法:bool? a : b
>>> a ='first'
>>> b ='second'
>>>1and a or b   # 等價於 if( 'a' )return 'a' return 'b' 的情況 從左向右
'first'
>>>0and a or b   # 等價於  a and b 的情況 if( 'b' ) return 'b' return 'a' 從右向左
'second'
>>> a =''
>>>1and a or b   # a為假時。則出現故障
'second'
>>>(1and[a]or[b])[0]# 安全使用方法,由於[a]不可能為假,至少有一個元素
''
>>>


免責聲明!

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



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