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