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,eliflubelse. - 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 valueMetoda 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 valueMetoda 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 valuePodsumowanie
- 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_executeOto 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 += 1Ten kod działa w następujący sposób.
- Zacznij od
irównego 1, wyświetlaji, dopóki jest mniejsze lub równe 5, i za każdym razem zwiększajio 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
whilejest 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
breakicontinue:breakużywa się, gdy chcesz przedwcześnie opuścić pętlę.continuepomija 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
1i2, pętla kończy się, gdyistanie 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ść
ina 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.