Przepływ sterowania w Pythonie

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 po if, elif lub else.
  • 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 instrukcji switch.

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świetlaj i, dopóki jest mniejsze lub równe 5, i za każdym razem zwiększaj i o 1.

Uwaga:

Podczas korzystania z pętli while należy pamiętać o następujących kwestiach.

  1. Uważaj na nieskończone pętle

    • Jeśli warunek w pętli while jest zawsze True, spowoduje to nieskończoną pętlę. Muszą być przeprowadzone odpowiednie operacje, aby zmienić warunek; w przeciwnym razie program nie przestanie działać.
  2. Używanie break i continue:

    • 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 i 2, pętla kończy się, gdy i 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 wynik 1, 2, 4, 5.
  • Inkremntując wartość i na początku pętli, licznik przesuwa się do przodu nawet jeśli zostanie wykonane continue, 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.

YouTube Video