首页 > 后端开发 > Python教程 > python实现问号表达式(?)的方法

python实现问号表达式(?)的方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-16 08:46:07
原创
2555 人浏览过

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的情况,比如空字符串

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
正则表达式用 HTML 标签替换几个符号
来自于 1970-01-01 08:00:00
0
0
0
正则表达式 - Java:字符串替换带序号
来自于 1970-01-01 08:00:00
0
0
0
转换JavaScript正则表达式为PHP
来自于 1970-01-01 08:00:00
0
0
0
正则表达式行为的差异
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板