intmain(){inta=10;LOOP:do{if(a= =15) {/*skiptheiteration*/a=a+1;gotoLOOP;}printf(&"/> intmain(){inta=10;LOOP:do{if(a= =15) {/*skiptheiteration*/a=a+1;gotoLOOP;}printf(&">

Maison  >  Article  >  développement back-end  >  Pourquoi n’y a-t-il pas d’instruction goto en Python ?

Pourquoi n’y a-t-il pas d’instruction goto en Python ?

WBOY
WBOYavant
2023-08-30 21:49:151633parcourir

Pourquoi n’y a-t-il pas d’instruction goto en Python ?

Oui, il n'y a pas d'instruction goto en Python. Voyons d’abord ce qu’est goto en langage C. Cependant, l'utilisation de goto est également déconseillée en C.

L'instruction goto dans la programmation C fournit un saut inconditionnel de "goto" à une instruction marquée dans la même fonction. Voici la syntaxe -

goto label;
..
.
label: statement;

Exemple

Regardons maintenant le programme C de goto -

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

Sortie

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

Remarque - L'utilisation des instructions goto est également déconseillée en C.

Pas de GoTo en Python

En Python, il n'est pas nécessaire d'utiliser goto car nous pouvons accomplir la même tâche en utilisant les instructions if et ou, et, les expressions et boucles if-else (y compris continue et break) en utilisant les instructions while et for.

Exceptions définies par l'utilisateur

Utilisez les exceptions définies par l'utilisateur comme alternative -

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

Méthodes imbriquées

Exemple

Utilisez les méthodes imbriquées comme autre option -

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

Sortie

In
In the demo() function

module de déclaration Goto

C'est un décorateur de fonctions utilisant goto en Python. Testé sur Python 2.6 à 3.6 et PyPy. Installez-le en utilisant pip -

Remarque : s'applique à Python 3.6

pip install goto-statement

Voyons un exemple

# 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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer

Articles Liés

Voir plus