Python 中的 Goto 語句:2022 年你需要知道的
已發表: 2021-01-04目錄
介紹
在目前存在的眾多現代編程語言中,Python 在大量用戶中越來越受歡迎。 這種受歡迎程度主要歸功於它通過不嚴格遵守同時代人所做的傳統語法而賦予其用戶的靈活性。 因此,它的用戶友好性使其成為當今全球多個軟件行業的核心部分。 從業餘愛好者到飽經風霜的專業人士,Python 現在已成為大多數程序員的首選語言。 如果您想獲得數據科學認證,請查看我們的網站。
長期使用 Python 的用戶對各種各樣的語句以及它賦予他們的隨後增強的功能發誓。 然而,由於常規使用的語句數量如此之多,一些同樣方便的命令也被忽視了。 一個這樣的例子是 Python 中的 goto 語句。 本文的目的是讓讀者對 Python 中的 goto 有更深入的了解。
Python 的 goto 語句是一段必不可少的代碼或語法,它使用戶能夠跳過程序主體中的一定數量的語句或代碼塊。 用技術術語來說,它執行從 goto 語句到在正在編譯的同一函數的上下文中指定為目的地的點的無條件跳轉。
goto 函數的語法相對簡單,因為它將關鍵字“goto”與可以根據用戶要求定制的模板標籤名稱相結合。 只要文本不包含關鍵字“go”,它就可以放在程序主體的任何位置。 如果有人選擇將標籤放在 go 語句之上,或者就此而言,放在它之下,這並沒有什麼區別。
goto 語句本身被大量使用 Python 編程的用戶廣泛使用。 然而,儘管很可能,當涉及審計目的時,通常不鼓勵使用此語句。 這主要是因為在審計上下文中存在 goto 語句使得人們很難跟踪程序的流程。
因此,如果確實出現了要求程序員在任何時間點更改程序的任何內容的情況,那麼確定確切的位置將成為一項艱鉅的任務。 由於使用 goto 語句需要跳過函數的選擇部分或塊,用戶發現很難跟踪程序流程並縮小要執行修改的確切位置。
goto 語句附有一段有趣的歷史。 人們普遍認為,當 goto 語句於 2004 年 4 月 1 日首次發佈時,它應該被用作一個笑話。 然而,在意識到手頭語法的實用性後,程序員開始認真對待該語句。 因此,goto 逐漸成長為享有它至今仍需得到的廣泛認可。
Goto 語句及其迭代
當我們談論 goto 語句的迭代時,我們泛指另一段類似的代碼或語法,其功能或多或少與 goto 語句相同。 在 Python 的上下文中,Comefrom 語句滿足這些條件。 Comefrom 語句作為代碼的工作方式與 goto 命令的工作方式相同。 goto 和 Comefrom 的目的都是為主程序提供額外的靈活性,它們設法相當方便地執行。
因此,作為用戶的您可以更好地控製程序流程機制,並在您認為合適的時候在程序結構中行使您的自由。 因此,它為增加對不同程度的成語控制流的可訪問性讓路,在此之前,這些成語大多是外來的,實際上對用戶來說是超出範圍的。
要在 Python 程序中使用 goto 或 Comefrom 語句,首先必須導入主庫。 這通常是通過一段非常簡單易行的代碼來實現的,代碼如下:
from goto import goto, Comefrom, 標籤
儘管 Python 不需要記住任何復雜的語法結構,但如果將代碼(如上面提到的代碼)放在他們的指紋上,就會受益匪淺。 通過導入主庫來實現命令是 Python 的核心。 因此,熟悉這些代碼可以幫助相關用戶節省大量時間。 將庫導入程序的一般主體後,您可以在程序中以最適合您的方式使用這兩個命令。
當一個人在 Python 中實現 goto 語句時,需要對他們通過實現它所實現的目標有一個基本的了解。 這種理念不僅限於 goto 語句的上下文,還擴展到 Python 中的所有此類命令。 各種命令功能的清晰性,除了幫助您優化代碼和運行時間外,還極大地提高了整個程序的可讀性。 反過來,這直接反映在您的競爭編碼技能中。

在 goto 語句的情況下,每當用戶調用它時,他們都在指示解釋器執行一行代碼,這與他們當時手頭的代碼不同。 通過在通常稱為“標籤”的部分中標記它來確定要執行的特定代碼塊或行。 Python 中的標籤標籤越來越隨機,通常被視為以單個點為前綴的任意 Python 標識符。
閱讀: Python 項目理念和主題
計算的 Goto 語句
計算的 goto 語句是 Python 中大量程序員使用的 goto 語句的最廣泛使用和最常見的變體之一。 在使用計算的 goto 語句時,用戶需要在程序或代碼的開頭提及 python 索引。 因此,用戶應該通過使用主題標籤來參考所述索引。 本質上,您所做的是在運行時本身將標籤的名稱分配給變量,然後在需要時在星號的幫助下引用它。
閱讀:前 6 種數據科學編程語言
來自聲明
儘管 comefrom 語句被廣泛認為是 Python 中 goto 語句的迭代,但仔細觀察後,人們意識到它實際上實現了與 goto 語句完全相反的效果。 通俗地說,為了方便普通讀者,comefrom 對解釋器的作用可以用下面這行來概括和理解:
“只要到達標籤 X,就跳到這裡。”
如您所見,由於其功能的性質類似於 goto 語句,從某種意義上說,兩者都允許您跳過代碼的某些部分和段,因此大多數人認為 comefrom 語句是轉到命令。
雖然 comefrom 語句的實際工作最好藉助相關示例來解釋,但為了清楚起見,我們將嘗試進行簡要的理論解釋。 可以假設使用 comefrom 語句,每當解釋器到達指定的標籤時,它最終都會跳過後續代碼行的執行。 相反,它直接跳轉到程序主體中的下一個標籤。
這裡要注意的重要一點是,comefrom 語句的使用大體上是作為編程中的調試輔助工具。 除此之外,通常不鼓勵在獨立操作的更大上下文中使用 comefrom 語句。 這主要是因為在這樣的結構中使用 comefrom 語句通常會導致不方便和支持性的結果。
另請閱讀: Python GUI 項目
Python 中的 Goto 語句及其限制
大多數編碼平台通常對其主體內的命令和其他代碼行的功能設置一組限制。 在這方面,Python 也不例外。 它對 goto 語句及其迭代 comefrom 語句都設置了許多限制。 結果,在更大的計劃中,這兩個命令的成就程度仍然有限。 下面列出了一些適用於這兩種語句的最常見限制,以供將來參考。
- 即使使用 goto 命令或 comefrom 程序允許您跳過代碼的某些部分和段,它實際上並不允許您跳到循環的中間。 Python 中的最後一個子句在任何時候都不得使用這些語句中的任何一個。
- 在任何時候,用戶都不能主動使用 goto 或 comefrom 語句在 Python 中的函數或模塊之間跳轉。
- 不能使用 goto 和 comefrom 命令跳轉到 except 行。 這主要是因為相關的異常行首先不再存在。 當用戶必須跳出深度嵌套的循環時,這種限制在很大程度上得到了體現。 或者,當發生故障後需要進行清理時,它也會採取行動。 這兩種情況都充分說明了 Python 在 goto 和 comefrom 語句上擴展的這種特殊限制。
必讀:印度收入最高的 10 種編程語言
結論
出於審計和調試的目的,Python 中的 goto 語句及其迭代,comefrom 語句,向用戶展示了它們在很大程度上是可行且極易訪問的選項。
儘管這兩個語句在傳統編程的上下文中大多很少使用,但經常使用它,即使考慮到它必須處理的一組限制,也會導致相當令人驚訝的結果。
如果您想了解數據科學,請查看 IIIT-B 和 upGrad 的數據科學執行 PG 計劃,該計劃是為在職專業人士創建的,提供 10 多個案例研究和項目、實用的實踐研討會、行業專家的指導、1與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。

