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(&">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa tiada pernyataan goto dalam Python?

Mengapa tiada pernyataan goto dalam Python?

WBOY
WBOYke hadapan
2023-08-30 21:49:151698semak imbas

Mengapa tiada pernyataan goto dalam Python?

Ya, tiada pernyataan goto dalam Python. Mari kita fahami dahulu apa itu goto dalam bahasa C. Walau bagaimanapun, penggunaan goto juga tidak digalakkan dalam C.

Pernyataan goto dalam pengaturcaraan C menyediakan lompatan tanpa syarat daripada "goto" kepada pernyataan bertanda dalam fungsi yang sama. Berikut ialah sintaks -

goto label;
..
.
label: statement;

Contoh

Sekarang mari kita lihat program goto C -

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

Output

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

Nota - Penggunaan pernyataan goto juga tidak digalakkan dalam bahasa C.

Tiada GoTo dalam Python

Dalam Python, tidak ada keperluan untuk goto kerana kita boleh menyelesaikan tugas yang sama menggunakan pernyataan if dan atau, dan, if-else dan gelung (termasuk continue dan break) menggunakan while dan for statement.

Pengecualian ditentukan pengguna

Gunakan pengecualian yang ditentukan pengguna sebagai alternatif -

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

Kaedah bersarang

Contoh

Gunakan kaedah bersarang sebagai pilihan lain -

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

Output

In
In the demo() function

modul pernyataan goto

Ia adalah penghias fungsi menggunakan goto dalam Python. Diuji pada Python 2.6 hingga 3.6 dan PyPy. Pasang menggunakan pip -

Nota: Berkenaan dengan Python 3.6

pip install goto-statement

Mari kita lihat contoh

# 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

Atas ialah kandungan terperinci Mengapa tiada pernyataan goto dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Artikel berkaitan

Lihat lagi