Articles

Jak używać poleceń Break, Continue i Pass podczas pracy z pętlami w Pythonie 3

Posted on

Wprowadzenie

Używanie pętli for i while w Pythonie pozwala zautomatyzować i powtarzać zadania w efektywny sposób.

Ale czasami czynnik zewnętrzny może wpłynąć na sposób działania programu. W takiej sytuacji możesz chcieć, aby Twój program całkowicie opuścił pętlę, pominął część pętli przed kontynuowaniem lub zignorował ten zewnętrzny czynnik. Te czynności można wykonać za pomocą instrukcji breakcontinue i pass.

Deklaracja break

W Pythonie instrukcja break zapewnia możliwość wyjścia z pętli, gdy zostanie wywołany warunek zewnętrzny. Instrukcję break umieścisz w bloku kodu pod instrukcją pętli, zwykle po warunkowej instrukcji if.

Przyjrzyjrzyjmy się przykładowi, który wykorzystuje instrukcję break w pętli for:

number = 0for number in range(10): if number == 5: break # break here print('Number is ' + str(number))print('Out of loop')

W tym małym programie zmienna number jest inicjalizowana na 0. Następnie instrukcja for konstruuje pętlę tak długo, jak długo zmienna number jest mniejsza niż 10.

Wewnątrz pętli for znajduje się instrukcja if, która przedstawia warunek, że jeśli zmienna number jest równa liczbie całkowitej 5, to pętla zostanie przerwana.

Wewnątrz pętli znajduje się również instrukcja print(), która będzie wykonywana przy każdej iteracji pętli for aż do jej przerwania, ponieważ znajduje się ona po instrukcji break.

Aby wiedzieć, kiedy wychodzimy z pętli, umieściliśmy końcową instrukcję print() poza pętlą for.

Gdy uruchomimy ten kod, nasze dane wyjściowe będą następujące:

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Out of loop

Wynika z tego, że gdy liczba całkowita number zostanie oceniona jako równoważna 5, pętla zostanie przerwana, ponieważ program został o tym poinformowany za pomocą instrukcji break.

Konstrukcja break powoduje, że program wyłamuje się z pętli.

KonstrukcjaContinue

Konstrukcja continue daje możliwość pominięcia części pętli, w której wywołany jest warunek zewnętrzny, ale przejścia do zakończenia reszty pętli. Oznacza to, że bieżąca iteracja pętli zostanie przerwana, ale program powróci do początku pętli.

Konstrukcja continue będzie znajdować się w bloku kodu pod instrukcją pętli, zwykle po warunkowej instrukcji if.

Używając tego samego programu pętli for jak w sekcji Break Statement powyżej, użyjemy instrukcji continue zamiast instrukcji break:

number = 0for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number))print('Out of loop')

Różnica w użyciu instrukcji continue zamiast instrukcji break polega na tym, że nasz kod będzie kontynuowany pomimo zakłóceń, gdy zmienna number zostanie oceniona jako równoważna 5. Spójrzmy na nasze dane wyjściowe:

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop

Tutaj Number is 5 nigdy nie występuje w danych wyjściowych, ale pętla kontynuuje po tym punkcie, aby wydrukować linie dla liczb 6-10 przed opuszczeniem pętli.

Określenia continue można użyć, aby uniknąć głęboko zagnieżdżonego kodu warunkowego lub zoptymalizować pętlę przez wyeliminowanie często występujących przypadków, które chciałbyś odrzucić.

Określenie continue powoduje, że program pomija pewne czynniki, które pojawiają się w pętli, ale następnie kontynuuje przez resztę pętli.

Konstrukcja pass

Gdy zostanie wywołany warunek zewnętrzny, instrukcja pass pozwala obsłużyć warunek bez jakiegokolwiek wpływu na pętlę; cały kod będzie nadal odczytywany, chyba że wystąpi instrukcja break lub inna.

Tak jak w przypadku innych instrukcji, instrukcja pass będzie znajdować się w bloku kodu pod instrukcją pętli, zazwyczaj po warunkowej instrukcji if.

Używając tego samego bloku kodu co powyżej, zastąpmy instrukcję break lub continue instrukcją pass:

number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')

Konstrukcja pass występująca po instrukcji warunkowej if mówi programowi, aby kontynuował wykonywanie pętli i zignorował fakt, że zmienna number podczas jednej z jej iteracji ewaluuje jako równoważna 5.

Uruchomimy program i przeanalizujemy dane wyjściowe:

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop

Używając instrukcji pass w tym programie, zauważymy, że program działa dokładnie tak, jak by działał, gdyby nie było w nim żadnej instrukcji warunkowej. Instrukcja pass mówi programowi, aby zignorował ten warunek i kontynuował działanie programu jak zwykle.

pass Instrukcja może tworzyć minimalne klasy, lub działać jako placeholder podczas pracy nad nowym kodem i myślenia na poziomie algorytmicznym przed ustaleniem szczegółów.

Wniosek

Konstrukcje breakcontinue, i pass w Pythonie pozwolą Ci efektywniej wykorzystywać pętle for i while w Twoim kodzie.

Aby dowiedzieć się więcej o break i pass, możesz prześledzić nasz samouczek „Jak stworzyć Twitterbota z Pythonem 3 i biblioteką Tweepy”.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *