python笔记(七) - and和or

使用 and 时,在布尔上下文中从左到右演算表达式的值。0''[](){}None 在布尔上下文中为假;其它任何东西都为真。如果所有的值都为真,or 返回最后一个真值。

>>>   ' a '   and   ' b '          
' b '
>>>   ''   and   ' b '           
''
>>>   ' a '   and   ' b '   and   ' c '  
' c '

 使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值。

如果所有的值都为假,or 返回最后一个假值。

>>>   ' a '   or   ' b '           
' a '
>>>   ''   or   ' b '            
' b '
>>>   ''   or  []  or  {}      
{}
>>>   def  sidefx():
      
print   " in sidefx() "
      
return   1
>>>   ' a '   or  sidefx()     
' a '

python中的a?b:c技巧

>>>   def  main(syng):
    
print  syng  and   " first "   or   " second "
>>>  main( 1 )
first
>>>  main(0)
second
>>>  

 and-or 技巧无效的场合

>>>   def  main(syng):
    
print  syng  and   ""   or   " second "
>>>  main( 1 )
second
>>>  main(0)
second
>>>  

 安全使用 and-or 技巧

>>>   def  main(syng):
    
print  (syng  and  [ "" or  [ " second " ])[0]
>>>  main(0)
second

>>> main(1)

>>>  

转载于:https://www.cnblogs.com/uwebs/archive/2009/04/27/1444482.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值