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


Posted in Python onNovember 27, 2013

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的情况,比如空字符串
Python 相关文章推荐
Python判断Abundant Number的方法
Jun 15 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
详解python之heapq模块及排序操作
Apr 04 Python
对python 中class与变量的使用方法详解
Jun 26 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
Python绘制热力图示例
Sep 27 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
Python ATM功能实现代码实例
Mar 19 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
Python时区设置方法与pytz查询时区教程
Nov 27 #Python
详细介绍Python语言中的按位运算符
Nov 26 #Python
haskell实现多线程服务器实例代码
Nov 26 #Python
python自动化工具日志查询分析脚本代码实现
Nov 26 #Python
python翻译软件实现代码(使用google api完成)
Nov 26 #Python
python高并发异步服务器核心库forkcore使用方法
Nov 26 #Python
跨平台python异步回调机制实现和使用方法
Nov 26 #Python
You might like
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
jQuery 表格工具集
2010/04/25 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
python threading模块操作多线程介绍
2015/04/08 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
客服文员岗位职责
2013/11/29 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
外出学习心得体会范文
2016/01/18 职场文书