zoukankan      html  css  js  c++  java
  • python 性能- and-or 学习技能

    C语言类似表情: bool ?

     a : b ,当表达式值为真的话,值为a。否则为b.

    看一个样例:

    >>> a = "first"
    >>> b = "second"
    >>> 1 and a or b 
    'first'
    >>> 0 and a or b 
    'second'
    

    这个样例非常好理解,1 表示为真,值为a,否则为b.

    在使用过程中,发现也不全然是这样,假设a 为假的话,表达式值为b。

    比方:

    >>> a = ""
    >>> b = "second"
    >>> 1 and a or b
    'second'

    有个技巧能够避免出现上面的问题,例如以下:

    >>> a = ""
    >>> b = "second"
    >>> (1 and [a] or [b])[0]
    由于 [a] 是一个非空列表,它永远不会为假。甚至 a 是 0 或 '' 或其他假值。列表 [a] 为真,由于它有一个元素。





    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Nancy 寄宿IIS
    原子操作
    CSRF跨站请求伪造
    CORS跨域
    C# 运算符
    Mysql 函数
    Mongodb for .Net Core 驱动的应用
    Mongodb for .Net Core 封装类库
    制作项目模板
    压缩图片
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4906212.html
Copyright © 2011-2022 走看看