python-三元表达式的实现

注意:python并没有像java等语言得三元表达式,但是提供了相似得实现方法

举个例子(虽然例子有更好得实现方式,但是能够说明问题,不需要太纠结):

a=5
b=1
if a>=b:
    c=a
else:
    c=b
print(c)
输出  5

这个例子只是简单得将a和b中较大得赋值给c,并打印出来,这样做显然可以,但是代码先得臃肿,接下来我们用python得三元表达式替代方式实现

a=5
b=1
c=a if a>=b else b
print(c)

这次变量c得赋值过程变得清晰而简单,代码得可读性也大大增加了

通过上面得例子可以看到大致得方案实现方式:

true_part if condition else false_part

如果condition为真,则返回true_part,否则返回false_part

来个更简单易懂得例子:

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

第二种实现(不推荐):
原型:

condition and [true_part] or [false_part][0]

例:

>>> (True and ['it is true'] or ['it is false'])[0]
'it is true'
>>> (False and ['it is true'] or ['it is false'])[0]
'it is false'

说明:
这里我们将true_part和false_part部分都放到列表中,并且这个列表只有这一个元素,得到结果后又将列表中得true_part或者false_part部分取出来
这么做得原因是如果true_part部分本身就为false,则即使condition为True也不会取出true_part,但是把它放到列表中无论true_part是否为真,列表始终为真,最后再把元素取出来即可

#演示错误用法得到得结果,并不会取出False
>>> True and False or 'it is false'
'it is false'
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,164评论 17 410
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,242评论 19 139
  • 交流或更多内容请关注我的公众号:nezha_blog 我的技术博客:https://nezha.github.io...
    哪吒小子阅读 2,187评论 1 30
  • 了解你的收入,才能规划靠谱的人生
    孤月瑾心阅读 183评论 0 0
  • 焦虑、烦躁、迷茫冲击着生活,这时来上一碗鸡汤可以舒缓一下拧巴的心。可这鸡汤有时候会营养过剩,自身体质服不住啊! 深...
    紫霄伶芸阅读 270评论 0 1