Go to u Pythonu ili go to naredba u programiranju zapravo je počelo kao šala. Ipak, ono što je počelo kao šala sada je među najvažnijim funkcijama koje koristi gotovo svaki programer diljem svijeta.
Znamo da je Python najjednostavniji i najjednostavniji programski jezik na svijetu. Također je jedan od najpoželjnijih i najkorištenijih jezika na svijetu. Svatko, bilo početnik ili stručnjak, svi koriste Python, a jedna od najnezapaženijih izjava u Pythonu je goto izjava. U ovom vodiču ćemo vidjeti i naučiti što je goto naredba i kako koristiti go to u Pythonu na vrlo suptilan način.
Izjava Goto — pregled
Naredba goto nazvana je tako jer ovaj dio koda daje vašem kodu bezuvjetni skok kroz naredbu goto do navedene naredbe koja je označena naredbom goto. Govoreći o tome u laičkim terminima, općenito se koristi kad god programer voli preskočiti određeni broj funkcija ili izjava.
Iako programeri jako preferiraju idi na naredbu, idi na naredbu zaostaje samo u slučaju svrhe revizije. Treba shvatiti da programerima postaje teško mijenjati sadržaj programa, a također je zamorno locirati točnu destinaciju goto naredbe. To je zbog toga što izvođenje koda prikladno skače s jedne funkcije na drugu.
Osnovna sintaksa Idi na u Pythonu
# go to in python goto label; .... .... Label: Label: .... .... goto label; ### Note : The label is just a sample word and it should be replaced the appropriate text or statement. # For example: goto return;
Iteracije goto iskaza
Još jedna izjava koja radi na isti način kao goto je izjava comefrom. Ipak, izjava comefrom ima suprotno značenje od izjave goto. U stvarnosti, i goto i comefrom izjave pružaju veliku fleksibilnost i skalabilnost Python programu. To omogućuje programu da regulira mehanizam toka programa. Također ima mogućnost reguliranja protoka idioma.
Ono što treba napomenuti, kao i uvijek u bilo kojem Python programu, je da prvo moramo uvesti naredbu goto i comefrom unutar glavne biblioteke. Kao :
# importing goto and comefrom in the main library from goto import goto, comefrom, label
Kada netko namjerava koristiti go to u Pythonu, u osnovi traži od tumača da izvrši drugi red naredbi umjesto sadašnje naredbe. Ciljna izjava koju želite da tumač izvrši u tom trenutku mora biti zabilježena u odjeljku “oznaka”. Primjer oznake .thelabel
Comefrom izjava navodi da naredba dolazi odnekud. To jest instancira da naredba dolazi iz druge instance i ne ide u neki drugi redak koda.
Sintaksa:
Label .somewhere comefrom .somewhere
Comefrom je vrlo kritičan faktor i koristi se kao pomoć pri otklanjanju pogrešaka tijekom programiranja.
Izračunati goto u Pythonu
Jedna od najčešćih varijacija naredbe goto u Pythonu je izračunata naredba goto. U ovom slučaju potrebno je samo predefinirati python indeks na početku koda i kasnije se pozivati na njega pomoću hashtaga.
Pogledajmo primjer za ovo:
i = calculateLabelName() Goto *i
Note: Vrijednost ‘i’ u gornjoj izjavi ne smije sadržavati prefiks (.)točku kao što je gore navedeno u primjeru neposredno prije ovog bloka koda.
Postoje li ograničenja unutar naredbe goto u Pythonu?
Python također ima niz ograničenja za iskaze comefrom i goto kao i druge linije kodova i platforme za kodiranje. Evo tih ograničenja:
- Programeri ne mogu koristiti obje izjave u istom trenutku za preskakanje između modula ili funkcija.
- Skakanje u krajnju klauzulu ili središte bilo koje petlje nije uvijek moguće.
- Obje ili bilo koja od ovih izjava neće biti korisna za skok u red iznimke, jer se on uopće ne može pronaći.
Primjer :
from goto import goto, label for x in range(1, 10): for y in range(1, 20): for z in range(1, 30): print x,y,z if z == 3: goto .end label .end print "Finished"
Gornji primjer se koristi za prekidanje free iz bilo koje petlje koja može biti ugniježđena koliko god duboko.
Čišćenje nakon neuspjelog zadatka
# Take these as real-worker functions. from goto import goto, label def settingUp(): print "settingUp" def doPrimaryTask(): print 0; return True def doSecondaryTask(): print 1; return True def doThirdTask(): print 2; return False # It pretends to fail. def doFourthTask(): print 3; return True def cleanUp(): print "cleanUp"
# This function allows the third task to cleanup def bigFunction3(): settingUp() if not doPrimaryTask(): goto .cleanup if not doSecondaryTask(): goto .cleanup if not doThirdTask(): goto .cleanup if not doFourthTask(): goto .cleanup label .cleanup cleanUp() bigFunction3() print "bigFunction3 done"
Naredba goto u Pythonu je stoga vrlo korisna naredba koja se koristi i za potrebe revizije i za otklanjanje pogrešaka. Iako se nedovoljno koriste u svakodnevnom programiranju, korištenje idi na naredbu često vam daje vrlo nevjerojatne rezultate.
Neki razni primjeri programa
# Example 1: Using a computed goto: from goto import goto, label label .getinput i = raw_input("Enter either 'a', 'b' or 'c', or any other letter to quit: ") if i in ('a', 'b', 'c'): goto *i else: goto .quit label .a print "You typed 'a'" goto .getinput label .b print "You typed 'b'" goto .getinput label .c print "You typed 'c'" goto .getinput label .quit print "Finished\n" # Example 2: Restarting a loop: from goto import goto, label label .start for i in range(1, 5): print i if i == 3: try: output = message except NameError: print "Oops! Start again please." message = "Hello world" goto .start print output, "\n" # Exception Program # Example 3: When a label goes missing from goto import goto, label label .isreal goto .notreal # Raises a MissingLabelError exception.
++ SAŽIMO ++
Dakle, sada znamo što je go u Pythonu, kako koristiti naredbu goto. Vidjeli smo sve ovo i također implementaciju goto naredbe.
Stoga ćete kroz ovaj članak imati ideju o općim koracima koji uključuju korištenje go to u Pythonu. Pretpostavljam da sam kroz ovaj članak bio prilično jasan. Ali, u svakom slučaju, još uvijek imate neke sumnje. Zatim mi, molim vas, pišite u odjeljku za komentare i ja sam kao i uvijek uvijek spreman pomoći vam. I također riješite svoje brojne upite i probleme.
Do tada vam želim doviđenja !!! U redu, čekaj ….. prije nego što odeš, možeš pogledati moje razne druge objave. Također, iz jednostavnog razloga, a to je da unaprijedite svoje znanje o raznim drugim važnim temama. Također, gdje??? Evo…… A ako i dalje želite više kao u “Dil Mange More” tada posjetiti.