zoukankan      html  css  js  c++  java
  • 零基础学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
    >>> [1,2][bool(x)]
    2
    >>> 
    >>> x=False
    >>> [1,2][bool(x)]
    1
    >>> 


    就说到这里,谢谢大家

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

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



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    BZOJ1077 并查集
    linux(fedora) 第三课
    hdu 4513 吉哥系列故事——完美队形II(manacher)
    hdu 3294 Girls' research(manacher)
    FZU
    蓝桥杯试题 k倍区间(dp)
    蓝桥杯 带分数(全排列+枚举)
    天梯赛 L2-001 紧急救援
    蓝桥杯[2017年第八届真题]分考场 (图着色问题)
    hdu 3068 最长回文(manacher)
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896760.html
Copyright © 2011-2022 走看看