为了账号安全,请及时绑定邮箱和手机立即绑定

python-三元表达式的实现

标签:
Python

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

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

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

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

a=5b=1c=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'



作者:MR_Hanjc
链接:https://www.jianshu.com/p/a684876595b1


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消