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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/S_o_l_o_n/article/details/86612691