Python break, continue, pass statements with Exemple

⚡ Rezumat inteligent

Python Instrucțiunile break, continue și pass controlează fluxul buclelor. Instrucțiunea break termină o buclă, continue sare peste iterația curentă, iar pass acționează ca un provizoriu care nu face nimic atunci când este executat în interiorul buclelor, funcțiilor sau claselor.

  • 🔘 Pauză: Instrucțiunea break oprește imediat o buclă și mută controlul la prima linie de după aceasta.
  • ☑️ Continua: Instrucțiunea continue sare peste restul iterației curente și începe următoarea.
  • Trece: Instrucțiunea pass nu face nimic și funcționează ca un substituent pentru codul adăugat ulterior.
  • 🧪 Bucle imbricate: O pauză sau o continuare afectează doar bucla cea mai interioară, lăsând buclele exterioare să ruleze.
  • 🛠️ Ambele bucle: Toate cele trei instrucțiuni funcționează în cadrul buclelor for și while pentru a modifica fluxul normal de iterație.
  • 🤖 Ajutor AI: Asistenții inteligenței artificiale și GitHub Copilot sugerează și explică utilizarea corectă a comenzilor break, continue și pass.

Python rupe, continuă, transmite declarații

Conceptul de bucle este disponibil în aproape toate limbajele de programare. Python buclele ajută la repetarea unei liste, tuplu, șir, dicționar și un set. Există două tipuri de bucle acceptate în Python „pentru” și „în timp ce”. Blocul de cod este executat de mai multe ori în interiorul buclei până când condiția eșuează.

Instrucțiunile de control al buclei întrerup fluxul de execuție și termină/omit iterația conform nevoilor noastre. Python break și continue sunt utilizate în interiorul buclei pentru a schimba fluxul buclei față de procedura standard.

O buclă for sau o buclă while este menită să se repete până când condiția dată eșuează. Când utilizați o instrucțiune break sau continue, fluxul buclei este schimbat față de modul normal.

Python declarație de pauză

Instrucțiunea break are grijă să încheie bucla în care este folosită. Dacă instrucțiunea break este folosită în bucle imbricate, bucla curentă se termină și fluxul va continua cu codul urmat care vine după buclă.

Diagrama de flux pentru instrucțiunea break este după cum urmează:

Python declarație de pauză

Următorii sunt pașii implicați în diagramă.

Pas 1) Începe execuția buclei.

Pas 2) Dacă condiția buclei este adevărată, se va executa pasul 2, în care corpul buclei va fi executat.

Pas 3) Dacă corpul buclei are o instrucțiune break, bucla va ieși și va merge la Pasul 6.

Pas 4) După ce condiția buclei este executată și finalizată, se va trece la următoarea iterație din Pasul 4.

Pas 5) Dacă condiția buclei este falsă, va ieși din buclă și va trece la Pasul 6.

Pas 6) Sfârșitul buclei.

Întreruperea fluxului de execuție a instrucțiunii

Când bucla for începe să se execute, va verifica condiția if. Dacă adevărat, instrucțiunea break este executată, iar bucla for se va termina. Dacă condiția este falsă, codul din interiorul buclei for va fi executat.

Întreruperea fluxului de execuție a instrucțiunii

Când se execută bucla while, va verifica condiția if; dacă este Adevărat, Instrucțiunea break este executată, iar bucla while se va termina. Dacă condiția este falsă, codul din interiorul buclei while va fi executat.

Întreruperea fluxului de execuție a instrucțiunii

Exemplu: instrucțiune Break în bucla for

Lista my_list = ['Siya', 'Tiya', 'Guru„Daksh”, „Riya”,Guru'] este buclat folosind bucla for. Suntem interesați să căutăm numele 'Guru' din lista lista_mea.

În interiorul buclei for, condiția if compară fiecare element din listă cu numele 'GuruDacă condiția devine adevărată, va executa instrucțiunea break, iar bucla se va termina.

Exemplul de lucru folosind instrucțiunea break este prezentat mai jos:

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 

for i in range(len(my_list)):
    print(my_list[i])
    if my_list[i] == 'Guru':
        print('Found the name Guru')
        break
        print('After break statement')

print('Loop is Terminated')

Ieșire preconizată:

Siya
Tiya
Guru
Found the name Guru
Loop is Terminated

Exemplu: instrucțiune Break în bucla while

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
i = 0

while True:
    print(my_list[i])
    if (my_list[i] == 'Guru'):
        print('Found the name Guru')
        break
        print('After break statement')
    i += 1

print('After while-loop exit')

Ieșire preconizată:

Siya
Tiya
Guru
Found name Guru
After while-loop exit

Exemplu: Break Statement în bucle imbricate

În exemplu, avem 2 bucle for. Ambele bucle for iterează de la 0 la 3. În a doua buclă for, am adăugat o condiție în care dacă valoarea celui de-al doilea indice al buclei for este 2, ar trebui să se întrerupă.

Deci, din cauza instrucțiunii break, a doua buclă for nu va repeta niciodată pentru 2 și 3.

for i in range(4):
    for j in range(4):          
        if j==2:    
            break
        print("The number is ",i,j);  

Ieșire preconizată:

The number is  0 0
The number is  0 1
The number is  1 0
The number is  1 1
The number is  2 0
The number is  2 1
The number is  3 0
The number is  3 1

Python declarație continuă

continua instrucțiunea omite codul care vine după ea, iar controlul este transmis înapoi la început pentru următoarea iterație.

Sintaxă:

continue

Continuați diagrama de flux

Python declarație continuă

Următorii sunt pașii implicați în diagramă.

Pas 1) Începe execuția buclei.

Pas 2) Se va face execuția codului în interiorul buclei. Dacă există o declarație continuă în interiorul buclei, controlul va reveni la Pasul 4, adică la începutul buclei pentru următoarea iterație.

Pas 3) Se va face execuția codului în interiorul buclei.

Pas 4) Dacă există o instrucțiune continue sau execuția buclei în interiorul corpului este finalizată, va apela următoarea iterație.

Pas 5) Odată ce execuția buclei este completă, bucla va ieși și va trece la pasul 7.

Pas 6) Dacă condiția buclei de la pasul 1 eșuează, aceasta va ieși din buclă și va trece la pasul 7.

Pas 7) Sfârșitul buclei.

Continuați fluxul de execuție a instrucțiunii

Bucla for parcurge matricea my_list dată. În interiorul buclei for, condiția if este executată. Dacă condiția este adevărat, instrucțiunea continue este executată, iar controlul va trece la începutul buclei pentru următoarea iterație.

Fluxul codului este așa cum se arată mai jos:

Continuați fluxul de execuție a instrucțiunii

Când se execută bucla while, va verifica condiția if, dacă este Adevărat, Instrucțiunea „continue” este executată. Controlul va reveni la începutul buclei while pentru următoarea iterație. Dacă condiția este falsă, codul din interiorul buclei while va fi executat.

Fluxul codului este așa cum se arată mai jos:

Continuați fluxul de execuție a instrucțiunii

Exemplu: Continuați în interiorul buclei for

for i in range(10):    
    if i == 7:
        continue  
    print("The Number is :" , i)

Ieșire preconizată:

The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9

Exemplu: Continuați în interiorul buclei while

i = 0
while i <= 10:    
    if i == 7:
        i += 1
        continue  
    print("The Number is  :" , i)
    i += 1

Ieșire preconizată:

The Number is  : 0
The Number is  : 1
The Number is  : 2
The Number is  : 3
The Number is  : 4
The Number is  : 5
The Number is  : 6
The Number is  : 8
The Number is  : 9
The Number is  : 10

Exemplu: Continuați în interiorul buclei imbricate

Exemplul de mai jos arată utilizarea a 2 bucle for. Ambele bucle for se repetă dintr-un interval de la 0 la 3. În a doua buclă for, există o condiție, în care, dacă valoarea celui de-al doilea indice al buclei for este 2, ar trebui continua. Deci, din cauza continua declarație, a doua buclă for va sări peste iterația pentru 2 și va continua pentru 3.

for i in range(4):
    for j in range(4):          
        if j==2:    
            continue
        print("The number is ",i,j);

Ieșire preconizată:

The number is  0 0
The number is  0 1
The number is  0 3
The number is  1 0
The number is  1 1
The number is  1 3
The number is  2 0
The number is  2 1
The number is  2 3
The number is  3 0
The number is  3 1
The number is  3 3

Python transmite declarație

Python Instrucțiunea pass este folosită ca substituent în bucle, funcții, clasă, instrucțiune if care este menită să fie implementată mai târziu.

Sintaxă

pass

În ce este pass declarația Python?

Python pass este o declarație nulă. Când cel Python interpretorul dă peste instrucțiunea pass, nu face nimic și este ignorat.

Când să folosiți declarația de trecere?

Considerați că aveți o funcție sau o clasă cu corpul lăsat gol. Intenționați să scrieți codul în viitor. The Python interpretul va arunca o eroare dacă dă peste un corp gol.

Un comentariu poate fi adăugat și în corpul funcției sau clasei, dar interpretul ignoră comentariul și va arunca o eroare.

Instrucțiunea pass poate fi utilizată în corpul unei funcții sau al unei clase. În timpul execuției, interpretul, când dă peste instrucțiunea pass, ignoră și continuă fără a da nicio eroare.

Exemplu: transmiteți o instrucțiune în interiorul unei funcții

În exemplu, trecerea este adăugată în interiorul funcției. Acesta va fi executat atunci când funcția este apelată așa cum se arată mai jos:

def my_func():
    print('pass inside function')
    pass
my_func()

Ieșire preconizată:

pass inside function

Exemplu: instrucțiune de trecere în interiorul clasei

În exemplul de mai jos, am creat doar clasa goală care are o instrucțiune print urmată de o instrucțiune pass. Declarația de trecere este o indicație că codul din clasa „My_Class” va fi implementat în viitor.

classMy_Class:
print("Inside My_Class")    
pass

ieșire:

Inside My_Class

Exemplu: instrucțiune de trecere în interiorul buclei

În exemplul de mai jos, șirul 'Guru' este utilizat în interiorul buclei for. Condiția if verifică caracterul 'r' și apelează instrucțiunea print urmată de pass.

# Pass statement in for-loop
test = "Guru"
for i in test: 
    if i == 'r': 
        print('Pass executed') 
        pass
    print(i)

Ieșire preconizată:

G
u
Pass executed
r
u

Exemplu: transmiteți declarația în interiorul if-loop

În exemplul if bucla verifică valoarea lui a și dacă condiția este adevărată, merge și tipărește instrucțiunea „pass executat” urmată de pass.

a=1
if a==1:
    print('pass executed')
    pass

Ieșire preconizată:

pass executed

Când să folosiți o declarație de pauză și continuare?

  • A rupe declarația, atunci când este utilizată în interiorul buclei, va încheia bucla și va ieși. Dacă este folosit în bucle imbricate, va ieși din bucla curentă.
  • A continua instrucțiunea va opri execuția curentă atunci când este utilizată în interiorul unei bucle, iar controlul va reveni la începutul buclei.

Principala diferență dintre declarația break și continue este că atunci când este întâlnit cuvântul cheie break, acesta va ieși din buclă.

În cazul cuvântului cheie continue, iterația curentă care rulează va fi oprită și va continua cu următoarea iterație.

Întrebări frecvente

Instrucțiunea „continue” sare peste restul iterației curente a buclei și trece la următoarea. Instrucțiunea „pass” nu face nimic - este doar un substituent care menține o buclă, o funcție sau o clasă validă din punct de vedere sintactic.

O instrucțiune break închide doar bucla interioară care o conține, astfel încât orice bucle exterioare continuă să ruleze. Pentru a părăsi mai multe bucle simultan, utilizați o variabilă flag sau mutați buclele într-o funcție și returnați o valoare.

Da. Un bloc de tip „else” din buclă rulează numai atunci când bucla se termină normal fără a executa o pauză. Este util pentru logica de căutare, cum ar fi afișarea unui mesaj de negăsit după verificarea fiecărui element dintr-o secvență.

Python generează o eroare SyntaxError, deoarece instrucțiunile break și continue sunt valide doar în interiorul unei bucle for sau while. Dacă aveți nevoie de un substituent în afara unei bucle, utilizați instrucțiunea pass, care este permisă oriunde este așteptată o instrucțiune.

Odată ce comanda break sau continue se execută, controlul părăsește iterația curentă, așadar instrucțiunile scrise după acestea pe liniile următoare sunt inaccesibile. În exemplele de mai sus, apelul print() după break nu se execută niciodată și este practic cod mort.

O instrucțiune break închide cea mai apropiată buclă care o încadrează, dar menține funcția în execuție. O instrucțiune return închide imediat întreaga funcție, transmițând înapoi o valoare și încheind simultan fiecare buclă din interiorul acelei funcții.

Asistenții inteligenți artificiali, cum ar fi ChatGPT, generează cod de control al buclelor dintr-o descriere simplă, explică de ce o buclă se termină mai devreme, semnalează instrucțiunile break sau continue plasate greșit și sugerează dacă pass, continue sau break se potrivește cel mai bine logicii tale.

Da. GitHub Copilot completează automat pauze, continuă și trece dintr-un comentariu sau codul din jur. Instrumentele de inteligență artificială Agentic merg mai departe, refactorizând fluxul buclei, eliminând codul mort după o pauză și remediind automat erorile fluxului de control într-un întreg fișier.

Rezumați această postare cu: