简单的三元表达式

举报
清安无别事 发表于 2022/01/20 09:41:08 2022/01/20
【摘要】 这里是清安,不知道你是否在写代码的时候会用到很多的if else的判断呢。如果是,不妨看完这一篇文章,看看是否对你有一定的帮助。先来看看三元表达式的写法:为真时的结果 if 返回布尔值的判断条件 else 为假时的结果那么怎么写呢,看看:a = 1 if True else 0print(a)复制代码这里的意思是,如果为真,则输入1,否则输入0。那么具体是怎么样的呢?看看下面的例子:x = ...

这里是清安,不知道你是否在写代码的时候会用到很多的if else的判断呢。如果是,不妨看完这一篇文章,看看是否对你有一定的帮助。

先来看看三元表达式的写法:

为真时的结果 if 返回布尔值的判断条件 else 为假时的结果

那么怎么写呢,看看:

a = 1 if True else 0
print(a)
复制代码

这里的意思是,如果为真,则输入1,否则输入0。

那么具体是怎么样的呢?看看下面的例子:

x = input("请输入一个数:")
y = input("请再次输入一个数:")
if x > y:
    print(x)
else:
    print(y)
复制代码

这里的意思就是当输入X,Y时,进行判断,如果X大于Y则输出X的值,否则输出Y的值。

那么这样是不是看起来很长?用三元表达式就能帮你解决掉:

x = input("请输入一个数:")
y = input("请再次输入一个数:")
 
 
result = x if x > y else y
print(result)
复制代码

就是这么的简洁,实用并且有大佬范。

那么还有其他的一些用法吗?有的,我们结合函数来看看:

def number(a, b):
    # 如果a>b, re1=a, 否则, re1=b
    re1 = a if a > b else b  
    # 如果条件成立, re2=True对应的值a, 反之, re2 =False对应的值
    re2 = {True: a, False: b}[a > b]  
    # (不成立的值, 成立的值)[条件]
    re3 = (b, a)[a > b]  
 
    return re1, re2, re3
 
print(number(10, 20))
复制代码

三元表达式还是比较的神奇且实用的。最后了解一下斐波那契数列:

def fb(n):
    return n if n<2 else fb(n-1)+fb(n-2)
 
print([fb(n) for n in range(10)])
复制代码

经过上面的学习,这里大家应该都能看懂了吧,都是类似的写法。这样写,是不是代码都变少了,变整洁了。有点大佬的感觉。

它还有很多的用处,如:结合匿名函数,列表推导等,清安这里不是做开发的所以了解上述在实际上基本够用了。


作者:清安小渣
链接:https://juejin.cn/post/7055097079428825095
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。