所属网站分类: python基础 > 语法,变量,运算符


作者:goodbody

链接: http://www.pythonheidong.com/blog/article/12/

来源:python黑洞网 www.pythonheidong.com

很多人以为Python是没有三元运算符的,但实际上python是有的。

它是在2.5版本中添加的。语法是:

a if condition else b

首先condition进行求值,然后根据布尔值返回a或者b返回, 如果求值为true,则返回a,否则返回b。

例如:

>>> 'true' if True else 'false' 'true'
>>> 'true' if False else 'false' 'false'

请注意,条件是表达式,而不是语句。这意味着您不能pass在条件中使用赋值或其他语句:

>>> pass if False else x = 3
File "<stdin>", line 1 pass if False else x = 3 ^ SyntaxError: invalid syntax 

在这种情况下,您必须使用普通if语句而不是条件语句。


请记住,由于以下几个原因,一些人对此感到不满:

  • 参数的顺序与许多其他语言(例如C,Ruby,Java等)不同,当不熟悉Python的“惊人”行为的人使用它时(可能会颠倒顺序),这可能会导致错误。
  • 有些人认为它“笨拙”,因为它与正常的思维流程相反(首先考虑条件然后考虑影响)。
  • 文体的原因。
 

最新文章

  1. getParameterMap()的返回值为Map&lt;String, String[]&gt;,从其中取得请求参数转为Map&lt;String, String&gt;的方法如下:
  2. 修改eclipse中包的显示结构为树形
  3. EXISTS语句
  4. InfluxDB学习之InfluxDB的HTTP API写入操作
  5. web桌面程序之锁屏功能分析
  6. 最小生成树(kruskal模版 模板)
  7. poj 2342 Anniversary party 树形DP入门
  8. angular细节整理
  9. 使用Battery Historian(android 5.0)
  10. Block学习一门:基本使用,使用block包NSURLRequest异步请求
  11. popOver 弹出框简单使用
  12. windows下安装和配置nginx
  13. PHP全栈学习笔记14
  14. UOJ#349. 【WC2018】即时战略
  15. Linux中jdk的安装配置
  16. Zookeeper Client简介
  17. 快乐的一天从JAVA第一课开始,生活美滋滋!!!
  18. Python中的__new__()方法与实例化
  19. mysql开启binlog日志和慢查询日志
  20. 【静默】Oracle各类响应文件何在?

热门文章

  1. 牛客假日团队赛2 C.修围栏
  2. I.Algorithm Choosing Mushrooms
  3. 从wireshake分析http和https的通信过程
  4. 通过jcrop和canvas的画布功能完成对图片的截图功能与视频的截图功能实现
  5. response.setContentType() 作用及参数用法
  6. 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)
  7. 整数的lqp拆分
  8. SLF4J user manual 专题
  9. Java输入输出流简单案例
  10. linux 环境下备份oracle 数据库