老爷子88 发表于 2017-5-8 10:16:58

零基础学python-11.5 真值测试与if...else...三元表达式

  1.真值测试
  * 任何非零数字或者非空对象都为真
  * 数字零、空对象以及特殊对象None都被人作为假
  * 比较和相等测试会递归地应用在数据结构中
  * 比较和相等测试会返回True或False
  * 布尔and和or运算符会返回真或假的操作对象
  x and y :如果x和y都为真,就是真
  x or y:如果x或者y为真,就是真
  not x:如果x为假,那就是真

>>> 2>3 and 2<0
False
>>> 2>3 or 2>0
True
>>> not 2>0
False
>>> 2>1 and 3>2
True
>>> 2>3 or 2<0
False
>>> not 2<0
True
>>>

>>> [] or 3
3
>>> [] or ()
()
>>> [] and ()
[]
>>> [] and 3
[]
>>> 3 and []
[]
>>>


上面是一些特殊例子:  由于空的列表、元组、字典都返回False,所以当计算完之后,返回操作对象
  

  2.if...else...三元表达式
  我们先举一个简单的例子,然后把他改成三元表达式

>>> a=0
>>> if 2>1:
a=1
else :
a=2

>>> a
1
>>>
>>> a=1 if 2>1 else 2
>>> a
1
>>>


当2>1这个表达式为真的时候,就执行a=1,不然a=2  表达式在列表的特殊使用,通过真值测试方法bool返回的0或1,来选择相应的值

>>> x=1
>>>
2
>>>
>>> x=False
>>>
1
>>>



就说到这里,谢谢大家


------------------------------------------------------------------

点击跳转零基础学python-目录



         
版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 零基础学python-11.5 真值测试与if...else...三元表达式