Przepływ sterowania w Pythonie
Ten artykuł wyjaśnia przepływ sterowania w Pythonie.
YouTube Video
Instrukcja If w Pythonie
Instrukcja if
w Pythonie to składnia do wykonywania warunkowego rozgałęzienia. Służy do wykonania bloku kodu, jeśli określony warunek zwróci True
(prawda).
Podstawowa składnia
Instrukcja if
w Pythonie zasadniczo opiera się na poniższej strukturze.
1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4 # If the condition is True, execute this code block
5 print("x is greater than 5")
W tym przykładzie zostanie wyświetlone "x jest większe niż 5"
, jeśli zmienna x
jest większa niż 5.
Instrukcja else
Użycie else
po instrukcji if
pozwala określić kod do wykonania, gdy warunek jest fałszywy.
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
W tym przykładzie dane wyjściowe będą wynosić "x jest mniejsze lub równe 5"
.
Instrukcja elif
Jeśli musisz sprawdzić wiele warunków, możesz użyć elif
, co oznacza "else if".
1x = 5
2
3if x > 5:
4 print("x is greater than 5")
5elif x == 5:
6 print("x is equal to 5")
7else:
8 print("x is less than 5")
W tym przykładzie zostanie wyświetlone "x jest równe 5"
.
Notatki
- Dwukropek (
:
) jest wymagany poif
,elif
lubelse
. - Blok kodu wykonywany, gdy warunek jest prawdziwy, musi być wcięty. W Pythonie standardowe wcięcie to zazwyczaj 4 spacje, ale inne liczby spacji są również dopuszczalne, pod warunkiem, że jesteś konsekwentny.
- Możesz użyć dowolnego wyrażenia, które zwróci wartość logiczną jako warunek. Oznacza to, że możesz używać wyrażeń warunkowych w połączeniu z operatorami porównania lub logicznymi.
Opanowanie instrukcji if
w Pythonie pozwala na elastyczne kontrolowanie przebiegu wykonywania programu.
Wielokrotne rozgałęzienia warunkowe w Pythonie
Istnieje kilka sposobów implementacji funkcjonalności podobnej do switch
w Pythonie, podobnej jak w innych językach. W Pythonie powszechne jest używanie instrukcji if-elif-else
lub słowników w celu stworzenia struktur podobnych do instrukcji switch
.
Metoda 1: Instrukcja if-elif-else
Najprostszym sposobem jest użycie instrukcji if-elif-else
do rozgałęziania warunkowego.
1def switch_example(value):
2 if value == 1:
3 return "Value is one"
4 elif value == 2:
5 return "Value is two"
6 elif value == 3:
7 return "Value is three"
8 else:
9 return "Unknown value"
10
11print(switch_example(1)) # Output: Value is one
12print(switch_example(4)) # Output: Unknown value
Metoda 2: Użycie słowników
Mapując funkcje lub wartości na słownik, można stworzyć strukturę podobną do instrukcji switch
. Jest to wygodne, gdy chcesz wykonać różne operacje dla określonych wartości.
1def case_one():
2 return "Value is one"
3
4def case_two():
5 return "Value is two"
6
7def case_default():
8 return "Unknown value"
9
10def switch_example(value):
11 switch_dict = {
12 1: case_one,
13 2: case_two
14 }
15
16 # Use get() method to retrieve the corresponding function from the dictionary
17 # If the value is not found in the dictionary, use case_default as a fallback
18 return switch_dict.get(value, case_default)()
19
20print(switch_example(1)) # Output: Value is one
21print(switch_example(3)) # Output: Unknown value
Metoda 3: Instrukcja match
(Python 3.10 i nowsze)
Instrukcja match
została wprowadzona w Pythonie 3.10. Jest to składnia dopasowywania wzorców, która zapewnia funkcjonalność podobną do instrukcji switch
.
1def switch_example(value):
2 match value:
3 case 1:
4 return "Value is one"
5 case 2:
6 return "Value is two"
7 case 3:
8 return "Value is three"
9 case _:
10 return "Unknown value"
11
12print(switch_example(1)) # Output: Value is one
13print(switch_example(4)) # Output: Unknown value
Podsumowanie
- Instrukcja
if-elif-else
: Prosta i dostosowująca się do wielu przypadków. - Słowniki: Wykorzystaj mapowanie funkcji lub wartości, aby umożliwić efektywne rozgałęzianie.
- Instrukcja
match
: Umożliwia bardziej intuicyjne rozgałęzianie w Pythonie 3.10 i nowszych. Najbardziej zbliżone do instrukcjiswitch
.
Pętle for
w Pythonie
for
w Pythonie służy do iteracji po każdym elemencie obiektu iterowalnego, takiego jak lista, łańcuch znaków lub słownik. Podstawowa składnia instrukcji for
wygląda następująco:.
1# Loop through each item in the iterable
2for variable in iterable:
3 # Execute this block of code for each item in the iterable
4 code_to_execute
Oto kilka konkretnych przykładów:.
Przykład użycia listy
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Ten kod wywołuje funkcję print
dla każdego elementu na liście fruits
, wypisując nazwę każdego owocu.
Przykład użycia range()
Funkcja range()
generuje liczby całkowite w określonym zakresie, co czyni ją przydatną do iteracji liczbowych.
1for i in range(5):
2 print(i)
range(5)
generuje liczby całkowite od 0 do 4. W tym przypadku zostaną kolejno wypisane wartości 0, 1, 2, 3, 4
.
Przykład użycia słownika
W przypadku słowników domyślnie iterowane są klucze, ale można również pobierać pary klucz-wartość.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternatywnie użyj metody items()
, aby jednocześnie pobrać klucze i wartości.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
for
zagnieżdżona
Można również zagnieżdżać pętle for
, aby wykonywać bardziej złożone procesy iteracyjne.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Kod ten iteruje przez każdy wiersz listy matrix
i kolejno wypisuje liczby zawarte w każdym wierszu.
continue
służy do pominięcia iteracji, a break
do zakończenia pętli
Użycie continue
w pętli for
spowoduje pominięcie bieżącej iteracji i przejście do kolejnej. Dodatkowo, użycie break
całkowicie zakończy działanie pętli.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
W tym przykładzie pętla jest pomijana, gdy i
wynosi 5, i kończy działanie, gdy i
osiąga 8. Tak więc wynik będzie następujący: 0, 1, 2, 3, 4, 6, 7
.
Pętla for
w Pythonie jest bardzo elastyczna i może być używana w różnych przypadkach. W zależności od rodzaju procesu iteracyjnego, który chcesz wykonać, można ją używać w połączeniu z listami, słownikami, łańcuchami znaków i funkcją range()
.
Pętla while
w Pythonie
W Pythonie pętla while
jest strukturą sterującą, która umożliwia wielokrotne wykonywanie kodu w bloku, dopóki warunek pozostaje True
. Podstawowa składnia pętli while
wygląda następująco:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Przykład:
W poniższym przykładzie pętla while
jest użyta do wypisania liczb od 1 do 5.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Ten kod działa w następujący sposób.
- Zacznij od
i
równego 1, wyświetlaji
, dopóki jest mniejsze lub równe 5, i za każdym razem zwiększaji
o 1.
Uwaga:
Podczas korzystania z pętli while
należy pamiętać o następujących kwestiach.
-
Uważaj na nieskończone pętle
- Jeśli warunek w pętli
while
jest zawszeTrue
, spowoduje to nieskończoną pętlę. Muszą być przeprowadzone odpowiednie operacje, aby zmienić warunek; w przeciwnym razie program nie przestanie działać.
- Jeśli warunek w pętli
-
Używanie
break
icontinue
:break
używa się, gdy chcesz przedwcześnie opuścić pętlę.continue
pomija bieżącą iterację i rozpoczyna następną. Bądź ostrożny, ponieważ nieprawidłowe warunki pętli mogą skutkować nieskończoną pętlą.
Przykład break
:
1i = 1
2while i <= 5:
3 if i == 3:
4 break # Exit the loop when i becomes 3
5 print(i)
6 i += 1
- W tym przypadku, po wyświetleniu
1
i2
, pętla kończy się, gdyi
stanie się3
.
Przykład continue
:
1i = 0
2while i < 5:
3 i += 1
4 if i == 3:
5 # Skip the print statement and move to the next loop iteration when i is 3
6 continue
7 print(i)
- W tym przypadku wyświetlanie jest pomijane tylko dla
3
, co daje wynik1, 2, 4, 5
. - Inkremntując wartość
i
na początku pętli, licznik przesuwa się do przodu nawet jeśli zostanie wykonanecontinue
, co zapobiega nieskończonej pętli.
Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.