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入门教程之运算符与控制流
Aug 17 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
Mar 20 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
Python爬虫requests库多种用法实例
May 28 Python
通俗讲解python 装饰器
Sep 07 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 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/09/30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
JScript中的undefined和"undefined"的区别
2007/03/08 Javascript
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
使用Python的判断语句模拟三目运算
2015/04/24 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
delegate与普通函数的区别
2014/01/22 面试题
LINUX下线程,GDI类的解释
2016/12/14 面试题
2013年学期结束动员演讲稿
2014/01/07 职场文书
运动会广播稿100字
2014/01/11 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
西安事变观后感
2015/06/12 职场文书