Mengapa tiada pernyataan goto dalam Python?

WBOY
Lepaskan: 2023-08-30 21:49:15
ke hadapan
1572 orang telah melayarinya

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;
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19
Salin selepas log masuk

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()
Salin selepas log masuk

Kaedah bersarang

Contoh

Gunakan kaedah bersarang sebagai pilihan lain -

def demo():
   print("In the demo() function")
def inline():
   print("In")
inline()
demo()
Salin selepas log masuk

Output

In
In the demo() function
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!