在python中实现类似java的label语法或c中的goto语法

       虽然java中的label语法或者c中的goto语法都不被提倡使用,因为这可能会使得你的代码逻辑变得比较乱,降低代码的易读性;但是不得不承认,这种功能是很方便高效的,有时候,我们似乎很难找到其他的替代方法,不得不实现类似的功能。在python中,并没有类似的语法或者语句直接实现相关的功能,当然有第三方包可以实现类似功能,但是本文旨在简单的运用python的while循环和continue语句来实现类似的功能。

       要说明的一点是,这种功能并非是非必要的,虽然常常可以用循环来实现我们大部分的类似需求,但是这一般就会涉及构造递归函数或方法,而且如果调用此方法的语句本身也要被重新执行的话,那就算递归其实也无能为力。因此,我们直接通过while和continue结合来实现label和goto的功能。

       显然,这里是利用了while循环的性质,只要我们把潜在需要重新执行的语句写在循环中,然后通过后面的条件判断句来适当的使用continue语句执行下一轮循环,这样就可以达到重新执行代码的目的。下面举一个例子,这个例子要实现的目的是:先执行目标任务三次(本例中是打印出1,2,3),然后再重新执行整个代码,这样反复循环三次后退出。如下图:

       当然,如果目标任务中本身就有多个循环的话,那么这时如果你要重新执行代码,就需要直接跳到最外层的循环,这时就需要用break语句实现跳出多个循环,对此可以参考笔者的这篇文章看如何达到跳出多个循环的目的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值