Python3 中如何使用 goto 实现代码跳转执行
本文介绍如何在 Python3 中使用 goto-statement 库实现类似 C 语言的代码跳转功能,解决异常处理中重复代码的问题。通过安装库、定义标签与跳转指令,演示具体代码示例及输出结果。同时补充 Pycharm 中查看代码浏览历史、快速返回上一函数位置的实用技巧,提升开发效率。
1. 背景介绍
在实际项目开发过程中,曾遇到如下场景:
以下示例代码为伪代码逻辑:
if embedding.model is not exist: calculate embedding ## moudel_1 save embedding.model else : embedding = load embedding.model try: use embedding except KeyError: calculate embedding ##这里与moudel_1一致。
观察到在 except 异常处理块中,需要重复粘贴之前已经编写好的 calculate embedding 逻辑。
简而言之,核心需求是:
somecode_1 try: somecode_2 except: somecode_3 somecode_1 ## 重新执行
2. 引入 goto 机制
(1)安装 goto 相关库
pip install goto-statement
(2)通过 goto 完成一个基础示例
官方文档地址:https://pypi.org/project/goto-statement/
函数定义部分
from goto import with_goto
@with_goto #必须有
def test(list_):
tmp_list = list_
label.begin #标识跳转并开始执行的地方
result = []
try:
for i, j in enumerate(list_):
tmp = 1 / j
result.append(tmp)
last_right_i = i
except ZeroDivisionError:
del tmp_list[last_right_i + 1]
goto.begin #在有跳转标识的地方开始执行
return result
执行代码
a = test([1, 3, 4, 0, 6]) print(a)
运行结果
[1.0, 0.3333333333333333, 0.25, 0.16666666666666666]
注意:如果在 IDE 中运行,label 和 goto 下方可能出现红色波浪线提示错误,此时无需理会,直接执行代码即可。
补充:Pycharm 中跳转回之前所在代码行的方法
使用 Pycharm 编写 Python 代码已有一段时间,但有一个问题一直困扰着我:在浏览代码时,经常需要从当前函数跳转到另一个函数,而有时两个函数之间的距离较远,我一直不清楚如何直接返回到上一个函数位置。
为此,我采取的办法是按 Ctrl+F 然后输入上一个函数的函数名来定位并回到上一个函数。这种方式实在不够直观且效率低下。
以下是找到跳转按钮的过程:
1. 找到 View 菜单下的 Toolbar 并勾选启用

2. 按钮出现后

一款对代码浏览功能支持良好的 IDE,其 Toolbar 上通常会有按钮或者提供快捷键,用于在历史浏览页面之间跳转。而我的 Pycharm 默认设置一直是将 Toolbar 隐藏起来的。
以上为个人经验分享,希望能给大家一个参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









