zoukankan      html  css  js  c++  java
  • Python语言and-or的用法

    【原】python语言的 and-or 常常被用来实现类C语言中的三元运算符 : ?   ,

    更为骚气的写法是  xxx and xxx or xxx and xxx or xxx,这样就可以可以做到一行实现多个表达式啦。

    Code:

    (1) def  Judge(a):

          if   a  > 10:

             return   "big"

          elif  a > 5:

             return "middle"

          else:

             return "small"

     (2)   def   judge (b) : 

          return   b > 10  and  "big"  or  b > 5  and  "middle"  or "small"

    (1)和(2)所实现的效果是一样的

    但要注意的是 and-or 并不完全等价于三元运算符,因为a and b or c,

    如果b是个假值,那么就将返回c(电脑比较懒惰- -!)

    不过有技巧能够实现:

     def  choose(bool, a, b):

         return (bool  and  [a]  or  [b])[0]

    如果bool为真就返回[a], 不然就返回[b].  真如上面说的 电脑很懒惰 对于and ,它会先

    判断and前的值是否为真,如果为真, 那么xxx and xxx 就为真。

    return结尾的[0]的作用是:使结果以数字输出而不是以列表输出  结果:  加[0]   7  不加[0]  [7]

    例:choose(True, 0, 6)

      >>> 0

      choose(True, 7, 6)

     >>>7

         choose(False, 0, 6)

     >>>6

       choose(False, 7, 6)

     >>>6

    如果不加[0]

         choose(True, 0, 6)

     >>>[0]

    就这些了  

    人生苦短   我用python   QAQ

    加油吧!!!

    参考地址:  http://python.jobbole.com/81233/


       

  • 相关阅读:
    【字符编码】字符编码 && Base64编码算法
    【JVM】JVM系列之执行引擎(五)
    【JVM】JVM系列之类加载机制(四)
    【JVM】JVM系列之Class文件(三)
    【知识积累】DES算法之C#加密&Java解密
    appium多机并行测试
    Jenkins 传递自定义的参数
    python对ftp进行操作
    Linux下ftp服务器搭建
    appium +ios 判断元素是否存在,排除visible=“false”的数据
  • 原文地址:https://www.cnblogs.com/xautxuqiang/p/4367723.html
Copyright © 2011-2022 走看看