Warum gibt es in Python keine goto-Anweisung?

WBOY
Freigeben: 2023-08-30 21:49:15
nach vorne
1733 Leute haben es durchsucht

Warum gibt es in Python keine goto-Anweisung?

Ja, es gibt keine goto-Anweisung in Python. Lassen Sie uns zunächst verstehen, was goto in der C-Sprache ist. Allerdings wird auch in C von der Verwendung von goto abgeraten.

Die goto-Anweisung in der C-Programmierung ermöglicht einen bedingungslosen Sprung von „goto“ zu einer markierten Anweisung in derselben Funktion. Hier ist die Syntax -

goto label;
..
.
label: statement;
Nach dem Login kopieren

Beispiel

Schauen wir uns nun das C-Programm von goto an -

#include <stdio.h>
int main () {
   int a = 10;
   LOOP:do {
      if( a == 15) {
         /* skip the iteration */
         a = a + 1;
         goto LOOP;
      }
      printf("a = %d\n", a);
      a++;
   }while( a < 20 );
   return 0;
}
Nach dem Login kopieren

Ausgabe

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19
Nach dem Login kopieren

Hinweis – Von der Verwendung von Goto-Anweisungen wird auch in C abgeraten.

Kein GoTo in Python

In Python ist goto nicht erforderlich, da wir dieselbe Aufgabe mit if-Anweisungen und or und if-else-Ausdrücken und Schleifen (einschließlich continue und break) mit while- und for-Anweisungen erledigen können.

Benutzerdefinierte Ausnahmen

Verwenden Sie alternativ benutzerdefinierte Ausnahmen -

class goto1(Exception):
   pass
class goto2(Exception):
   pass
class goto3(Exception):
   pass

def loop():
   print('start')
   num = input()
   try:
      if num<=0:
         raise goto1
      elif num<=2:
         raise goto2
      elif num<=4:
         raise goto3
      elif num<=6:
         raise goto1
      else:
         print('end')
         return 0
   except goto1 as e:
      print('goto1')
      loop()
   except goto2 as e:
      print('goto2')
      loop()
   except goto3 as e:
      print('goto3')
      loop()
Nach dem Login kopieren

Verschachtelte Methoden

Beispiel

Verwenden Sie verschachtelte Methoden als weitere Option -

def demo():
   print("In the demo() function")
def inline():
   print("In")
inline()
demo()
Nach dem Login kopieren

Ausgabe

In
In the demo() function
Nach dem Login kopieren

gehe zum Kontoauszugsmodul

Es ist ein Funktionsdekorator, der goto in Python verwendet. Getestet auf Python 2.6 bis 3.6 und PyPy. Installieren Sie es mit pip -

Hinweis: Gilt für Python 3.6

pip install goto-statement
Nach dem Login kopieren

Sehen wir uns ein Beispiel an

# Python 3.6
from goto import with_goto

@with_goto
def range(start, stop):
   i = start
   result = []

   label .begin
   if i == stop:
      goto .end

   result.append(i)
   i += 1
   goto .begin

   label .end
   return result
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum gibt es in Python keine goto-Anweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage