Kontrollflöde i Python
Den här artikeln förklarar kontrollflöde i Python.
YouTube Video
If
-sats i Python
If
-satsen i Python är en syntax för villkorad grenning. Den används för att köra en kodblock om ett specifikt villkor är True
(sant).
Grundläggande syntax
If
-satsen i Python följer i princip strukturen nedan.
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 detta exempel skrivs "x är större än 5"
ut om variabeln x
är större än 5.
Else
-sats
Genom att använda else
efter en if
-sats kan du ange kod som ska köras när villkoret är falskt.
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 detta exempel kommer resultatet att vara "x är mindre än eller lika med 5"
.
Elif
-sats
Om du behöver kontrollera flera villkor kan du använda elif
, vilket står för "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 detta exempel skrivs "x är lika med 5"
ut.
Anteckningar
- Ett kolon (
:
) krävs efterif
,elif
ellerelse
. - Kodblocket som körs när ett villkor är sant måste indenteras. I Python är standardindentationen vanligtvis 4 blanksteg, men andra antal blanksteg fungerar också så länge du är konsekvent.
- Du kan använda vilket uttryck som helst som utvärderas till ett booleskt värde som villkor. Detta betyder att du kan använda villkorsuttryck kombinerade med jämförelse- eller logiska operatorer.
Genom att bemästra Pythons if
-sats kan du flexibelt styra programmets exekveringsflöde.
Flera villkorsgreningar i Python
Det finns flera sätt att implementera en switch
-liknande funktionalitet i Python, liknande den i andra språk. I Python är det vanligt att använda if-elif-else
-satser eller ordböcker för att skapa strukturer som liknar en switch
-sats.
Metod 1: if-elif-else
-sats
Det enklaste sättet är att använda if-elif-else
-satsen för villkorlig grenkontroll.
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
Metod 2: Användning av ordböcker
Genom att koppla funktioner eller värden till en ordbok kan man skapa en struktur som liknar en switch
-sats. Detta är praktiskt när du vill utföra olika operationer för specifika värden.
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
Metod 3: match
-sats (Python 3.10 och senare)
match
-satsen introducerades i Python 3.10. Det är en mönstermatchningssyntax som ger funktionalitet liknande en switch
-sats.
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
Sammanfattning
if-elif-else
-sats: Enkel och anpassningsbar till många fall.- Ordböcker: Använd kopplingar mellan funktioner eller värden för att möjliggöra effektiv grenkontroll.
match
-sats: Möjliggör mer intuitiv grenkontroll i Python 3.10 och senare. Mest lik enswitch
-sats.
For
-loopar i Python
for
-satsen i Python används för att iterera över varje element i ett itererbart objekt som en lista, sträng eller ordbok. Den grundläggande syntaxen för en for
-sats är följande:.
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
Här är några specifika exempel:.
Exempel med en lista
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Den här koden anropar print
-funktionen för varje element i listan fruits
och skriver ut namnet på varje frukt.
Exempel med range()
range()
-funktionen genererar heltal inom ett angivet intervall, vilket gör den användbar för numeriska iterationer.
1for i in range(5):
2 print(i)
range(5)
genererar heltal från 0 till 4. I detta fall kommer 0, 1, 2, 3, 4
att skrivas ut sekventiellt.
Exempel med en ordbok
När det gäller ordböcker itereras nycklar som standard, men du kan även hämta nyckel-värde-par.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternativt, använd metoden items()
för att samtidigt hämta nycklar och värden.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
Nästad for
-loop
Det är också möjligt att nästa for
-loopar för att utföra komplexa itereringsprocesser.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Denna kod itererar genom varje rad i listan matrix
och skriver sekventiellt ut numren i varje rad.
continue
för att hoppa över en iteration och break
för att avsluta en loop
Att använda continue
i en for
-loop hoppar över den aktuella iterationen och går vidare till nästa. Dessutom, att använda break
kommer att avsluta loopen helt och hållet.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
I detta exempel hoppar loopen över när i
är 5 och avslutas när i
är 8. Således kommer utmatningen att vara 0, 1, 2, 3, 4, 6, 7
.
Pythons for
-loop är mycket flexibel och kan användas i en mängd olika scenarier. Beroende på vilken typ av iterativ bearbetning du vill utföra, kan den användas i kombination med listor, ordböcker, strängar och range()
.
while
-loop i Python
I Python är while
-loopen en kontrollstruktur som används för att upprepade gånger köra kod inom blocket så länge villkoret förblir True
. Den grundläggande syntaxen för while
-loopen är som följer:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Exempel:
I följande exempel används en while
-loop för att skriva ut siffrorna från 1 till 5.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Denna kod fungerar enligt följande.
- Börja med
i
som 1, skriv uti
så länge det är mindre än eller lika med 5, och ökai
med 1 varje gång.
Observera:
Du behöver tänka på följande när du använder while
-satsen.
-
Var försiktig med oändliga loopar
- Om villkoret i en
while
-loop alltid ärTrue
, leder det till en oändlig loop. Lämpliga operationer måste utföras för att ändra villkoret; annars kommer programmet inte att stoppa.
- Om villkoret i en
-
Använda
break
ochcontinue
:break
används när du vill avsluta loopen i förtid.continue
hoppar över den aktuella iterationen och startar nästa. Var försiktig, eftersom felaktiga loopvillkor kan ge upphov till en oändlig loop.
Exempel 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 detta fall, efter att
1
och2
har skrivits ut, avslutas loopen näri
blir3
.
Exempel 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 detta fall hoppas utmatningen över endast för
3
, vilket resulterar i1, 2, 4, 5
. - Genom att öka värdet på
i
i början av loopen går räknaren vidare även omcontinue
körs, vilket förhindrar en oändlig loop.
Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.