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?
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;
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; }
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.
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.
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()
Gunakan kaedah bersarang sebagai pilihan lain -
def demo(): print("In the demo() function") def inline(): print("In") inline() demo()
In In the demo() function
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!