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並勾選上
2.按鈕出現
一款對瀏覽代碼功能支持良好的IDE一般Toolbar上都有按鈕或者會有快捷鍵可以在歷史瀏覽頁面之間跳轉。而我的Pycharm的默認設置一直是將Toolbar隱藏起來的。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 基於python goto的正確用法說明
- Python中關於元組 集合 字符串 函數 異常處理的全面詳解
- 用python畫一隻帥氣的皮卡丘
- C語言goto語句簡單使用詳解
- Go語言中break label與goto label的區別