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实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
Python requests库用法实例详解
Aug 14 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
python根据txt文本批量创建文件夹
Dec 08 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
Django模板语言 Tags使用详解
Sep 09 Python
python中round函数如何使用
Jun 19 Python
Pygame Time时间控制的具体使用详解
Nov 17 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
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
深入理解node.js http模块
2018/01/24 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
基于React+Redux的SSR实现方法
2018/07/03 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
Python获取文件ssdeep值的方法
2014/10/05 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
python软件都是免费的吗
2020/06/18 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
新浪网技术部笔试题
2016/08/26 面试题
幼儿如何来做好自我评价
2013/11/05 职场文书
王老吉广告词
2014/03/20 职场文书
关于保护环境的建议书
2014/05/13 职场文书
节水标语大全
2014/06/11 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
法人代表资格证明书
2015/06/18 职场文书
《给予树》教学反思
2016/03/03 职场文书
html5实现点击弹出图片功能
2021/07/16 HTML / CSS