python3 如何使用 goto 跳轉(zhuǎn)執(zhí)行到指定代碼行
1. 緣起
在實際開發(fā)中遇到這樣一個問題:
以下是偽代碼
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一致。
發(fā)現(xiàn)except 中需要粘貼之前寫過的calculate embedding
簡單概括就是:
somecode_1 try: somecode_2 except: somecode_3 somecode_1 ## 重新執(zhí)行
2. 使用goto
(1)安裝goto
pip install goto-statement
(2)使用goto完成一個小例子
官方文檔見:https://pypi.org/project/goto-statement/
定義函數(shù)
from goto import with_goto
@with_goto #必須有
def test(list_):
tmp_list = list_
label.begin #標識跳轉(zhuǎn)并開始執(zhí)行的地方
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 #在有跳轉(zhuǎn)標識的地方開始執(zhí)行
return result
運行
a = test([1, 3, 4, 0, 6]) print(a)
結(jié)果
[1.0, 0.3333333333333333, 0.25, 0.16666666666666666]
注意:如果你在ide山運行l(wèi)abel 和 goto 下有紅色波浪線提示錯誤。不用理會直接執(zhí)行即可
補充:Pycharm跳轉(zhuǎn)回之前所在的代碼行
用Pycharm寫Python代碼有一段時間了,有一個問題一直困擾著我:瀏覽代碼的時候時常需要從一個函數(shù)跳轉(zhuǎn)到另一個函數(shù),有時候兩個函數(shù)相聚比較遠,我一直不知道怎么直接回到上一個函數(shù)。
于是我采取的辦法是按ctr+F然后輸入上一個函數(shù)的函數(shù)名來定位并且回到上一個函數(shù)。不忍直視~~~
下面是找到跳轉(zhuǎn)按鈕的過程:
1.找到View下面的Toolbar并勾選上

2.按鈕出現(xiàn)

一款對瀏覽代碼功能支持良好的IDE一般Toolbar上都有按鈕或者會有快捷鍵可以在歷史瀏覽頁面之間跳轉(zhuǎn)。而我的Pycharm的默認設(shè)置一直是將Toolbar隱藏起來的。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于tf.nn.dynamic_rnn返回值詳解
今天小編就為大家分享一篇關(guān)于tf.nn.dynamic_rnn返回值詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
PyMongo進行MongoDB查詢和插入操作的高效使用示例
這篇文章主要為大家介紹了PyMongo進行MongoDB查詢和插入操作的高效使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
TensorFlow安裝并在Pycharm搭建環(huán)境的詳細圖文教程
今天動手開始搭建TensorFlow開發(fā)環(huán)境,所以下面這篇文章主要給大家介紹了關(guān)于TensorFlow安裝并在Pycharm搭建環(huán)境的詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-11-11
Pytorch中實現(xiàn)CPU和GPU之間的切換的兩種方法
本文主要介紹了Pytorch中實現(xiàn)CPU和GPU之間的切換的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

