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

 更新时间:2021年05月17日 14:25:39   作者:yuanteng8  
这篇文章主要介绍了python3 使用goto跳转执行到指定代码行的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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代码有一段时间了,有一个问题一直困扰着我:浏览代码的时候时常需要从一个函数跳转到另一个函数,有时候两个函数相聚比较远,我一直不知道怎么直接回到上一个函数。

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

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

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

SouthEast

2.按钮出现

SouthEast

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python基础之面对对象基础类和对象的概念

    python基础之面对对象基础类和对象的概念

    这篇文章主要介绍了python面对对象基础类和对象的概念,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • python中 @的含义以及基本使用方法

    python中 @的含义以及基本使用方法

    @用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,下面这篇文章主要给大家介绍了关于python中 @ 的含义以及基本使用的相关资料,需要的朋友可以参考下
    2021-12-12
  • 一文带你了解Python中的双下方法

    一文带你了解Python中的双下方法

    Python中有一些特殊方法的方法名都是以双下划线开始和结束,所以又被称为双下方法。本文就来为大家详细讲讲Python中的双下方法的使用,感兴趣的可以了解一下
    2022-07-07
  • Python使用Selenium实现淘宝抢单的流程分析

    Python使用Selenium实现淘宝抢单的流程分析

    这篇文章主要介绍了Python使用Selenium实现淘宝抢单的流程分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python如何实现最小矩形覆盖问题

    python如何实现最小矩形覆盖问题

    这篇文章主要介绍了python如何实现最小矩形覆盖问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python日期时间对象转换为字符串的实例

    Python日期时间对象转换为字符串的实例

    今天小编就为大家分享一篇Python日期时间对象转换为字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python安装教程全过程(2022最新)

    Python安装教程全过程(2022最新)

    这篇文章主要介绍了Python安装教程全过程(2022最新版本),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python 实现分页显示从es中获取的数据方法

    python 实现分页显示从es中获取的数据方法

    今天小编就为大家分享一篇python 实现分页显示从es中获取的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python模拟鼠标点击和键盘输入的操作

    python模拟鼠标点击和键盘输入的操作

    这篇文章主要介绍了python模拟鼠标点击和键盘输入的操作,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python目标检测非极大抑制NMS与Soft-NMS

    python目标检测非极大抑制NMS与Soft-NMS

    这篇文章主要weidajia 介绍了python目标检测非极大抑制NMS与Soft-NMS实现过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论