Python如何终止当前缩进层级执行?实现类似循环break的块级跳转功能
Python本身没有原生支持跳出任意缩进块的语法,但你可以通过给代码块套一层单次执行的循环,配合break实现需求,完全符合你不拆分函数、不引入异常的要求,具体实现如下:
方案1:单次for循环实现
直接给原逻辑套一层只会执行一次的for循环,需要跳出时直接调用break即可:
for _ in [0]: if some_state: if bool1: break # 直接跳转到循环外的最终代码 <some code> if bool2: break # 直接跳转到循环外的最终代码 <more code> elif some_other_state: <some_other_conditions_with_equally_possible_jumps> <some_final_code>
这个方案几乎没有额外性能损耗,逻辑直观,不需要额外的背景知识就能理解。
方案2:while True实现
你也可以用while True套层,只要在正常逻辑末尾加一个break避免死循环即可:
while True: if some_state: if bool1: break <some code> if bool2: break <more code> elif some_other_state: <some_other_conditions_with_equally_possible_jumps> # 正常执行到末尾时主动跳出,避免循环 break <some_final_code>
两种方案的实现效果完全一致,你可以根据自己的编码习惯选择。
内容的提问来源于stack exchange,提问作者MyNameIsFu
相关产品推荐
相关产品推荐

