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

WBOY
Libérer: 2023-08-30 21:49:15
avant
1698 Les gens l'ont consulté

Pourquoi ny a-t-il pas dinstruction 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;
Copier après la connexion

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;
}
Copier après la connexion

Sortie

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19
Copier après la connexion

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()
Copier après la connexion

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()
Copier après la connexion

Sortie

In
In the demo() function
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!