Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt es in Python keine goto-Anweisung?

Warum gibt es in Python keine goto-Anweisung?

WBOY
WBOYnach vorne
2023-08-30 21:49:151633Durchsuche

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;

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;
}

Ausgabe

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19

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()

Verschachtelte Methoden

Beispiel

Verwenden Sie verschachtelte Methoden als weitere Option -

def demo():
   print("In the demo() function")
def inline():
   print("In")
inline()
demo()

Ausgabe

In
In the demo() function

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

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen