Kontrolflow i Python
Denne artikel forklarer kontrolflow i Python.
YouTube Video
If
-sætning i Python
If
-sætningen i Python er en syntaks til betinget forgrening. Den bruges til at udføre en kodeblok, hvis en bestemt betingelse evalueres til True
(sand).
Grundlæggende syntaks
If
-sætningen i Python følger grundlæggende strukturen nedenfor.
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")
I dette eksempel udskrives "x er større end 5"
, hvis variablen x
er større end 5.
Else
-sætning
Ved at bruge else
efter en if
-sætning kan du angive kode, der skal udføres, når betingelsen er falsk.
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
I dette eksempel vil output være "x er mindre end eller lig med 5"
.
Elif
-sætning
Hvis du har brug for at kontrollere flere betingelser, kan du bruge elif
, som står for "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")
I dette eksempel udskrives "x er lig med 5"
.
Noter
- En kolon (
:
) er påkrævet efterif
,elif
ellerelse
. - Kodeblokken, der udføres, når en betingelse er sand, skal indrykkes. I Python er standardindrykningen normalt 4 mellemrum, men andre antal mellemrum er fint, så længe du er konsekvent.
- Du kan bruge enhver udtryk, der evalueres til en boolesk værdi, som en betingelse. Det betyder, at du kan bruge betingede udtryk kombineret med sammenlignings- eller logiske operatorer.
At mestre Pythons if
-sætning gør, at du fleksibelt kan kontrollere programmets udførelsesflow.
Flere betingede forgreninger i Python
Der er flere måder at implementere en switch
-lignende funktionalitet i Python, ligesom i andre sprog. I Python er det almindeligt at bruge if-elif-else
-sætninger eller ordbøger til at skabe strukturer, der ligner en switch
-sætning.
Metode 1: if-elif-else
-sætning
Den enkleste måde er at bruge if-elif-else
-sætningen til betinget forgrening.
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
Metode 2: Brug af ordbøger
Ved at kortlægge funktioner eller værdier til en ordbog er det muligt at oprette en struktur, der ligner en switch
-sætning. Dette er praktisk, når du vil udføre forskellige operationer for specifikke værdier.
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
Metode 3: match
-sætning (Python 3.10 og nyere)
match
-sætningen blev introduceret i Python 3.10. Det er en mønstermatchingssyntaks, der giver funktionalitet tilsvarende en switch
-sætning.
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
Sammendrag
if-elif-else
-sætning: Simpel og tilpasningsdygtig til mange tilfælde.- Ordbøger: Brug kortlægninger af funktioner eller værdier for at muliggøre effektiv forgrening.
match
-sætning: Muliggør mere intuitiv forgrening i Python 3.10 og nyere. Tættest på enswitch
-sætning.
For-løkker i Python
for
-sætningen i Python bruges til at iterere over hvert element i et itererbart objekt, såsom en liste, streng eller ordbog. Den grundlæggende syntaks for en for
-sætning er som følger:.
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
Her er nogle specifikke eksempler:.
Eksempel ved brug af en liste
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Denne kode kalder print
-funktionen for hvert element i listen fruits
og udskriver navnet på hver frugt.
Eksempel ved brug af range()
range()
-funktionen genererer heltal inden for et specificeret interval og er nyttig til numeriske iterationer.
1for i in range(5):
2 print(i)
range(5)
genererer heltal fra 0 til 4. I dette tilfælde vil 0, 1, 2, 3, 4
blive outputtet sekventielt.
Eksempel ved brug af en ordbog
For ordbøger itereres nøgler som standard, men du kan også hente nøgle-værdi-par.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternativt kan du bruge metoden items()
til samtidigt at hente nøgler og værdier.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
Indlejret for
-løkke
Det er også muligt at indlejre for
-løkker for at udføre komplekse iterationsprocesser.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Denne kode itererer gennem hver række i listen matrix
og udskriver sekventielt tallene i hver række.
continue
bruges til at springe en iteration over, og break
bruges til at afslutte en løkke
Ved at bruge continue
i en for
-løkke springes den aktuelle iteration over, og den fortsætter med den næste. Derudover vil break
fuldstændigt afslutte løkken.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
I dette eksempel springer løkken over, når i
er 5, og afsluttes, når i
er 8. Således vil output være 0, 1, 2, 3, 4, 6, 7
.
For
-løkker i Python er meget fleksible og kan bruges i en række forskellige scenarier. Afhængigt af hvilken type iterativ behandling du vil udføre, kan den bruges i kombination med lister, ordbøger, strenge og range()
.
while
-løkke i Python
I Python er while
-løkken en kontrolstruktur, der bruges til gentagne gange at udføre kode inden for blokken, så længe betingelsen forbliver True
. Den grundlæggende syntaks for while
-løkken er som følger:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Eksempel:
I det følgende eksempel bruges en while
-løkke til at udskrive tallene fra 1 til 5.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Denne kode fungerer som følger.
- Start med
i
som 1, udskrivi
, så længe den er mindre end eller lig med 5, og øgi
med 1 hver gang.
Bemærk:
Du skal huske følgende punkter, når du bruger while
-sætningen.
-
Vær opmærksom på uendelige løkker
- Hvis betingelsen i en
while
-løkke altid erTrue
, vil det resultere i en uendelig løkke. Passende operationer skal udføres for at ændre betingelsen; ellers vil programmet ikke stoppe.
- Hvis betingelsen i en
-
Brug af
break
ogcontinue
:break
bruges, når du vil afslutte løkken før tid.continue
springer den nuværende iteration over og starter den næste. Vær forsigtig, da forkerte løkkebetingelser kan resultere i en uendelig løkke.
Eksempel på 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
- I dette tilfælde standser løkken, når
i
bliver3
, efter1
og2
er blevet outputtet.
Eksempel på 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)
- I dette tilfælde springes outputtet kun over for
3
, hvilket resulterer i1, 2, 4, 5
. - Ved at øge værdien af
i
i begyndelsen af løkken går tælleren videre, selvomcontinue
udføres, hvilket forhindrer en uendelig løkke.
Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.