基于python goto的正確用法說明
首先是安裝,python沒有這個(gè),需要安裝別的
pip install goto-statement
看了一篇文章,都是直接官網(wǎng)的列子,根本不能用,所以自己搜集了資料,接下來介紹
這三個(gè)包是要用的,而不是只有最后一個(gè)
import gotofrom dominate.tags import labelfrom goto import with_goto
這個(gè)必須有,如果有多個(gè)函數(shù),會(huì)報(bào)錯(cuò),應(yīng)該放到要用的函數(shù)上面,例如
@with_gotodef xxx(): xxx 我的用法
def test(data): label.begin try: xxx except: goto.begin
嘗試執(zhí)行要執(zhí)行的程序,出錯(cuò)了就回到label.begin的地方
goto雖好,但是用多了會(huì)導(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完成一個(gè)小例子
官方文檔見:https://pypi.org/project/goto-statement/
注意:如果你在ide山運(yùn)行l(wèi)abel 和 goto 下有紅色波浪線提示錯(cuò)誤。不用理會(huì)直接執(zhí)行即可
from goto import with_goto @with_goto #必須有def te(list_): tmp_list = list_ label.begin #標(biāo)識(shí)跳轉(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)識(shí)的地方開始執(zhí)行 return result if __name__ == ’__main__’: a = te([1, 3, 4, 0, 6]) print(a)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. ASP實(shí)現(xiàn)加法驗(yàn)證碼2. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享3. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)4. PHP循環(huán)與分支知識(shí)點(diǎn)梳理5. PHP session反序列化漏洞超詳細(xì)講解6. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))7. ASP基礎(chǔ)入門第二篇(ASP基礎(chǔ)知識(shí))8. Spring注入Date類型的三種方法總結(jié)9. ASP基礎(chǔ)知識(shí)Command對(duì)象講解10. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享
