美文网首页
[Python语法糖] for/while...else...语

[Python语法糖] for/while...else...语

作者: 5cb608806559 | 来源:发表于2020-09-04 09:30 被阅读0次

1. 什么是语法糖?

语法糖(Syntactic sugar),是指那些没有给计算机语言添加新功能,而只是对coder来说更“甜蜜”的语法。语法糖往往给程序员提供了更简洁、实用的写代码方式,有益于更好的代码风格,更易读。举个简单的例子,5 * 5 与 5 + 5 + 5 + 5 + 5等价。乘法并不是新的方法,而是建立在加法基础上为了使加法更加简便。这里乘法就是一个"语法糖"。

candy.jpg

2. for/while...else...语句的用法

课程中,我们已经了解了if...else...语句的用法。在大部分语言中,else一般只在条件判断语句中出现。但是在python中,else除了能够和if这样的条件判断一起出现外,还能出现在for、while这样的循环语句中。

我们来看一个例子:给定一个数字列表,
如果列表中存在大于10的元素,输出: 列表中存在大于10的元素
如果列表中不存在大于10的元素,输出: 列表中不存在大于10的元素

代码实现:

s = [1, 3, 5, 7, 9]
found = False
for num in s:
    if num > 10:
        found = True
        print('列表中存在大于10的元素')
        break
    
if not found:
    print('列表中不存在大于10的元素')

输出结果:

列表中不存在大于10的元素

上面的代码中,利用for循环结构获取了s列表中的每一个元素,然后又将其与10进行比较,如果该元素大于10就直接输出‘列表中存在大于10的元素’字样,然后终止循环。如果循环完了整个列表,都没有发现大于10的数字,则输出‘列表中不存在大于10的元素’字样。为了实现这个目标,我们设置了一个额外的found变量来记录是否找到了大于10的的元素,在循环完成后再做一个if判断。

上面的写法没有问题,但是for...else...语句可以使我们的代码更加简洁清晰:

s = [1, 3, 5, 7, 9]
for num in s:
    if num > 10:
        print('列表中存在大于10的元素')
        break
else:
    print('列表中不存在大于10的元素')

总结:for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while ... else 也是一样。

相关文章

网友评论

      本文标题:[Python语法糖] for/while...else...语

      本文链接:https://www.haomeiwen.com/subject/kzlnsktx.html