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实现一个简单的MySQL类
Jan 07 Python
python提取字典key列表的方法
Jul 11 Python
星球大战与Python之间的那些事
Jan 07 Python
Python正规则表达式学习指南
Aug 02 Python
简单谈谈python中的多进程
Nov 06 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
用python实现刷点击率的示例代码
Feb 21 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
深入解析NumPy中的Broadcasting广播机制
May 30 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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
javascript this用法小结
2008/12/19 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
把input初始值不写value的具体实现方法
2013/07/04 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
Async Validator 异步验证使用说明
2017/07/03 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
Python语言进阶知识点总结
2019/05/28 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
优秀大学生推荐信范文
2013/11/28 职场文书
三年级科学教学反思
2014/01/29 职场文书
电视节目策划方案
2014/05/16 职场文书
商场租赁意向书
2014/07/30 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
MySQL主从切换的超详细步骤
2022/06/28 MySQL