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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
使用Python写CUDA程序的方法
Mar 27 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 Python
python自动12306抢票软件实现代码
Feb 24 Python
Django进阶之CSRF的解决
Aug 01 Python
Python找出微信上删除你好友的人脚本写法
Nov 01 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
windows python3安装Jupyter Notebooks教程
Apr 13 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
封装一个PDO数据库操作类代码
2009/09/09 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
小学教师的个人自我鉴定
2013/10/26 职场文书
优秀通讯员事迹材料
2014/01/28 职场文书
移交协议书
2014/08/19 职场文书
法人代表证明书格式
2014/10/01 职场文书
节约用电倡议书
2015/04/28 职场文书
我爱我班主题班会
2015/08/13 职场文书