使用else子句简化循环

在Python中,不仅分支语句有else子句,而且循环语句也有,甚至连异常处理也有。

# while-else形式
while expression:
    suite
else:
    suite

# for-else形式
for target_list in expression_list:
    suite
else:
    suite

else子句提供了隐含的对循环是否由break语句引发循环结束的判断。else块在循环正常结束和循环条件不成立时被执行。

与C/C++等较为“老土”的语言相比,else子句使程序员的生产力和代码的可读性都得到了提高,所以建议多使用else,让程序变得更加Pythonic。

# 在循环中添加一条else子句,仅在没有调用break时才执行。
def prime(n):
    for i in range(2, n):
        for j in range(2, i):
            if i % j == 0:
                break
        else:
            print("{num} is a prime number".format(num = i))

在Python的异常处理中,也提供了else子句的语法,try块没有抛出任何异常时,执行else块。

# try-except-else-finally形式
try:
    suite
except expression as target:
    suite
else:
    suite
finally:
    suite

# try-finally形式
try:
    suite
finally:
    suite

在Python中还有不少语法都是致力于让程序员可以编写更加简明、更接近自然语言语义的代码,比如in和with语句。

(最近更新:2019年05月16日)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值