首先是安裝,python沒有這個,需要安裝別的
pip install goto-statement
看了一篇文章,都是直接官網(wǎng)的列子,根本不能用,所以自己搜集了資料,接下來介紹
這三個包是要用的,而不是只有最后一個
import goto
from dominate.tags import label
from goto import with_goto
這個必須有,如果有多個函數(shù),會報錯,應(yīng)該放到要用的函數(shù)上面,例如
@with_goto
def xxx():
xxx
我的用法
def test(data):
label.begin
try:
xxx
except:
goto.begin
嘗試執(zhí)行要執(zhí)行的程序,出錯了就回到label.begin的地方
goto雖好,但是用多了會導(dǎo)致程序混亂,謹(jǐn)慎使用
補(bǔ)充:python3 goto跳轉(zhuǎn)到指定代碼行,執(zhí)行代碼
1.需求背景:
當(dāng)執(zhí)行到某一步驟后,發(fā)現(xiàn)結(jié)果不是想要的那種形式,希望這一次循環(huán)重新執(zhí)行,需要跳轉(zhuǎn)到固定位置。
2.使用goto:
(1)安裝goto
pip install goto-statement
(2)使用goto完成一個小例子
官方文檔見:https://pypi.org/project/goto-statement/
注意:如果你在ide山運(yùn)行l(wèi)abel 和 goto 下有紅色波浪線提示錯誤。不用理會直接執(zhí)行即可
from goto import with_goto
@with_goto #必須有
def te(list_):
tmp_list = list_
label.begin #標(biāo)識跳轉(zhuǎn)并開始執(zhí)行的地方
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 #在有跳轉(zhuǎn)標(biāo)識的地方開始執(zhí)行
return result
if __name__ == '__main__':
a = te([1, 3, 4, 0, 6])
print(a)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 如何在Python中實現(xiàn)goto語句的方法
- 對Python3 goto 語句的使用方法詳解
- python3 如何使用 goto 跳轉(zhuǎn)執(zhí)行到指定代碼行