基于python goto的正確用法說(shuō)明
首先是安裝,python沒(méi)有這個(gè),需要安裝別的
pip install goto-statement
看了一篇文章,都是直接官網(wǎng)的列子,根本不能用,所以自己搜集了資料,接下來(lái)介紹
這三個(gè)包是要用的,而不是只有最后一個(gè)
import goto from dominate.tags import label from goto import with_goto
這個(gè)必須有,如果有多個(gè)函數(shù),會(huì)報(bào)錯(cuò),應(yīng)該放到要用的函數(shù)上面,例如
@with_goto def 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è)小例子
官方文檔見(jiàn):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)并開(kāi)始執(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í)的地方開(kāi)始執(zhí)行 return result if __name__ == '__main__': a = te([1, 3, 4, 0, 6]) print(a)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python 統(tǒng)計(jì)列表中重復(fù)元素的個(gè)數(shù)并返回其索引值的實(shí)現(xiàn)方法
這篇文章主要介紹了Python 統(tǒng)計(jì)列表中重復(fù)元素的個(gè)數(shù)并返回其索引值,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Pandas常用的數(shù)據(jù)結(jié)構(gòu)和常用的數(shù)據(jù)分析技術(shù)
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫(kù),其最常用的數(shù)據(jù)結(jié)構(gòu)是Series和DataFrame。Series類似于一維數(shù)組,可以表示一列數(shù)據(jù);DataFrame類似于二維表格,可以表示多列數(shù)據(jù)2023-04-04Python中MySQL數(shù)據(jù)遷移到MongoDB腳本的方法
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。本文給大家介紹Python中MySQL數(shù)據(jù)遷移到MongoDB腳本的方法,需要的朋友參考下2016-04-04在Sublime Editor中配置Python環(huán)境的詳細(xì)教程
這篇文章主要介紹在sublime編輯器中安裝python軟件包,以 實(shí)現(xiàn)自動(dòng)完成等功能,并在sublime編輯器本身中運(yùn)行build,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2020-05-05Python Coroutine池化的實(shí)現(xiàn)詳解
在當(dāng)今計(jì)算機(jī)科學(xué)和軟件工程的領(lǐng)域中,池化技術(shù)如線程池、連接池和對(duì)象池等已經(jīng)成為優(yōu)化資源利用率和提高軟件性能的重要工具,所以下面我們就來(lái)看看Coroutine池化的具體實(shí)現(xiàn)吧2024-01-01PIP安裝python包出現(xiàn)超時(shí)問(wèn)題的解決
這篇文章主要介紹了PIP安裝python包出現(xiàn)超時(shí)問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03