zoukankan      html  css  js  c++  java
  • python中使用and和or来实现其它语言中的?号表达式

    python中的and和or和其它语言的区别很大

    其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。

    那个值决定了这个表达式的值,就返回那个值。

    >> 5 and ‘’

    这里结果是'', 空字符串, 因为是它导致了这个表达式为false.

    也就是所在and中,只有前面一个值是false的时候,才有可能成为结果。否则就是后面的值为结果。

    了解了and和or运行的过程,那么就可以实现?表达式了:

    if (expression):
         return truevalue
    else:
        return falsevalue


    和这个等价的写法是(类似?号表达式):

    expression and truevalue or falsevalue
    #或者
    (expression and (truevalue,) or (falsevalue,))[0] #感谢snake117提供的建议

    #这种是避免truevalue有可能是false的情况,比如空字符串

    Creative Commons License

    本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名justrun(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言

  • 相关阅读:
    分享15个专业且免费的HTML5模板
    项目环境的搭建
    DNS预解析 dns-prefetch
    页面布局
    计划与准备
    Hogan的安装和使用
    代理工具--fiddle
    vue.js加入购物车小球动画
    vue.js笔记1.0
    url,href,src区别
  • 原文地址:https://www.cnblogs.com/JustRun1983/p/2743545.html
Copyright © 2011-2022 走看看