gpt4 book ai didi

python3 如何使用 goto 跳转执行到指定代码行

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python3 如何使用 goto 跳转执行到指定代码行由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1. 缘起

在实际开发中遇到这样一个问题:

以下是伪代码 。

?
1
2
3
4
5
6
7
8
9
10
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 。

简单概括就是:

?
1
2
3
4
5
6
somecode_1
try :
  somecode_2
except :
  somecode_3  
  somecode_1   ## 重新执行

2. 使用goto

(1)安装goto

?
1
pip install goto - statement

(2)使用goto完成一个小例子

官方文档见:https://pypi.org/project/goto-statement/ 。

定义函数 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

运行 。

?
1
2
a = test([ 1 , 3 , 4 , 0 , 6 ])
print (a)

结果 。

[1.0, 0.3333333333333333, 0.25, 0.16666666666666666] 。

注意:如果你在ide山运行label 和 goto 下有红色波浪线提示错误。不用理会直接执行即可 。

补充:Pycharm跳转回之前所在的代码行 。

用Pycharm写Python代码有一段时间了,有一个问题一直困扰着我:浏览代码的时候时常需要从一个函数跳转到另一个函数,有时候两个函数相聚比较远,我一直不知道怎么直接回到上一个函数.

于是我采取的办法是按ctr+F然后输入上一个函数的函数名来定位并且回到上一个函数。不忍直视~~~ 。

下面是找到跳转按钮的过程:

1.找到View下面的Toolbar并勾选上

python3 如何使用 goto 跳转执行到指定代码行

2.按钮出现

python3 如何使用 goto 跳转执行到指定代码行

一款对浏览代码功能支持良好的IDE一般Toolbar上都有按钮或者会有快捷键可以在历史浏览页面之间跳转。而我的Pycharm的默认设置一直是将Toolbar隐藏起来的.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/weixin_43389082/article/details/107058787 。

最后此篇关于python3 如何使用 goto 跳转执行到指定代码行的文章就讲到这里了,如果你想了解更多关于python3 如何使用 goto 跳转执行到指定代码行的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com