三元 *** 作符

三元 *** 作符,第1张

        通常N元 *** 作符指的是该 *** 作符有N个 *** 作数,如赋值 *** 作符(=),它是一个二元 *** 作符,所以它有两个 *** 作数(左右各一个);又如减号(-)是一个二元 *** 作符,但是当它作为负号(-)使用的时候,便是一个一元 *** 作符,它表示负数,所以只有一个 *** 作数。


那么,三元 *** 作符理应有三个 *** 作数咯?没错的,你猜对了。



        其实Python的作者一向推崇简洁编程理念,所以很长一段时间Python都没有三元 *** 作这个概念(因为他觉得三元 *** 作符将会使程序的结构变复杂),但是长久以来Python社区的小伙伴们对三元 *** 作符表现出了极大的渴望,所以最终作者还是勉为其难地为Python加入了三元 *** 作符。


有了它,我们就可以使用一条语句来完成以下的条件判断和赋值 *** 作:

if x     small=x
else:
    small=y

那么这段代码用三元 *** 作符表示应该是怎样的呢?

三元 *** 作符语法:

表达式1 if 条件表达式 else 表达式2

当表达式返回True时,返回结果表达式1,否则返回结果表达式2。


所以,上面的代码可以改进为:

smal=x if x

刚开始看可能会不大习惯,毕竟跟我们通常的逻辑思维方式不同,但也不觉得会导致程序结构变得复杂啊。



那么,大家看下面代码:

#coding=utf-8
score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
    level = 'A'
elif 90 > score >= 80:
    level = 'B'
elif 80 > score >= 60:
    level = 'C'
elif 60 > score >= 0:
    level = 'D'
else:
    print('输入错误!')
print(level)

如果用三元 *** 作符的形式,修改后的代码应该是这样的:

# coding=utf-8
score = int(input('请输入一个分数:'))
level = 'A' if 100 >= score >= 90 else 'B' if 90 > score >= 80 else'C'if 80 > score >= 60 else 'D' if 60 > score >= 0 else print('输入错误!')
print(level)

现在还会觉得简单易懂吗?
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/578834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存