基於python goto的正確用法說明

首先是安裝,python沒有這個,需要安裝別的

pip install goto-statement

看瞭一篇文章,都是直接官網的列子,根本不能用,所以自己搜集瞭資料,接下來介紹

這三個包是要用的,而不是隻有最後一個

import goto
from dominate.tags import label
from goto import with_goto

這個必須有,如果有多個函數,會報錯,應該放到要用的函數上面,例如

@with_goto
def xxx():
 xxx
 

我的用法

def test(data):
  label.begin
  try:
   xxx
  except:
    goto.begin

嘗試執行要執行的程序,出錯瞭就回到label.begin的地方

goto雖好,但是用多瞭會導致程序混亂,謹慎使用

補充:python3 goto跳轉到指定代碼行,執行代碼

1.需求背景:

當執行到某一步驟後,發現結果不是想要的那種形式,希望這一次循環重新執行,需要跳轉到固定位置。

2.使用goto:

(1)安裝goto

pip install goto-statement

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

官方文檔見:https://pypi.org/project/goto-statement/

註意:如果你在ide山運行label 和 goto 下有紅色波浪線提示錯誤。不用理會直接執行即可

from goto import with_goto
 
@with_goto   #必須有
def te(list_):
  tmp_list = list_
  label.begin    #標識跳轉並開始執行的地方
  result = []
  try:
    for i, j in enumerate(list_):
      tmp = 1 / j
      result.append(tmp)
      last_right_i = i
      if i == 1:
        print('----hhhhhhh')
        goto.begin
  except ZeroDivisionError:
    del tmp_list[last_right_i + 1]
    goto.begin   #在有跳轉標識的地方開始執行
  return result
 
if __name__ == '__main__':
  a = te([1, 3, 4, 0, 6])
  print(a)

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: