- 1 1. Sissejuhatus
- 2 2. Kuidas kirjutada ühe‑rea if‑lauseid Python’i ternäärse operaatori abil
- 3 3. Loendikomprehensioonide ja if‑lause ühendamine
- 4 4. Python’i if‑ ja for‑lause ühe‑rea kasutamine
- 5 5. Ühe‑rea if koos omistamise avaldisega (Walrus‑operaator)
- 6 6. Märkused ühe rea if-lauste kasutamise kohta
- 7 7. Kokkuvõte ja järgmised sammud
1. Sissejuhatus
Python’i programmeerimises aitab ühe rea if‑lause kirjutamine koodi lihtsustada ja on eriti kasulik olukordades, kus tingimuslik harunemine toimub sageli. Selles artiklis selgitame üksikasjalikult mitmeid tehnikaid, kuidas kirjutada Python’i “if” lauseid ühel real. Õpi kirjutama loetavat, tõhusat koodi praktiliste näidetega, nagu ternäärne operaator ja loendikomprehensioonid.
2. Kuidas kirjutada ühe‑rea if‑lauseid Python’i ternäärse operaatori abil
Pythonis saad if‑lause kirjutada ühel real, kasutades ternäärset operaatorit (tingimuslikku avaldist). See on kasulik, kui tagastad väärtuse tingimuse põhjal, ja võimaldab hoida koodi lühidana.
Ternäärne operaatori süntaks
Python’i ternäärne operaator kirjutatakse järgmiselt:
variable = value1 if condition else value2
Selle süntaksi korral tagastatakse “value1”, kui tingimus on tõene, ja “value2”, kui see on väär.
Näide: Paaris‑ või paaritu kontrollimine
Näiteks võid kontrollida, kas arv on paaris või paaritu, ja tagastada tulemuse põhjal erinevad stringid, näiteks:
number = 4
result = "even" if number % 2 == 0 else "odd"
print(result) # Output: even
Kuna if‑lause saab sellisel viisil ühel real kirjutada, on see väga mugav lihtsate tingimuslike harude jaoks.
Ternäärse operaatori praktilised rakendused
Näiteks võid ternäärset operaatorit kasutada sõnumi kuvamiseks sõltuvalt sellest, kas kasutaja on sisse logitud.
is_logged_in = True
message = "Welcome" if is_logged_in else "Please log in"
print(message) # Output: Welcome
Ternäärne operaator on ideaalne lihtsate valikute tegemiseks tingimuse alusel. Kuid keeruka loogika kirjutamine ühel real võib lugemisvõimet kahjustada, seega on soovitatav seda kasutada ainult lihtsate juhtumite jaoks. 
3. Loendikomprehensioonide ja if‑lause ühendamine
Python’i loendikomprehensioonid pakuvad võimsat viisi lühikese koodi kirjutamiseks loendite loomiseks. Kui need kombineerida if‑lausega, saad koostada loendeid vastavalt määratud tingimustele.
Loendikomprehensioonide põhisüntaks
Kui loendikomprehensioonis kasutatakse if‑lause, kirjutatakse see järgmiselt:
list = [expression for variable in iterable if condition]
Näide: Paarisarvude loendi loomine
Selleks, et koguda ainult paarisarvud 0‑st kuni 9‑ni loendisse, kirjuta seda järgmiselt:
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # Output: [0, 2, 4, 6, 8]
Rakendatud näited loendikomprehensioonidest
Loendikomprehensioonid on kasulikud ka andmete filtreerimiseks ja teisendamiseks. Näiteks võivad need aidata, kui soovid loendist stringidest eraldada ainult kindla pikkusega sõnu.
words = ["apple", "banana", "cherry", "date"]
filtered_words = [word for word in words if len(word) > 5]
print(filtered_words) # Output: ['banana', 'cherry']
Kasutades loendikomprehensioone, saad oma koodi lühendada, samal ajal tõhusalt andmeid tingimuste alusel ekstraheerides või teisendades.
4. Python’i if‑ ja for‑lause ühe‑rea kasutamine
Kombineerides for‑ ja if‑lauseid, saad kirjutada ühe rea koodi, mis töötleb ainult elemente, mis vastavad antud tingimusele. See on kasulik suurte loendioperatsioonide lihtsustamiseks.
If‑ ja for‑lause ühe‑rea süntaks
Põhisüntaks on järgmine.
list = [expression for variable in iterable if condition]
Näide: Paarisarvude ruutude loendi loomine
Selleks, et loetleda ruudud paarisarvudest 1‑st kuni 10‑ni, kasuta järgmist.
squared_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squared_evens) # Output: [4, 16, 36, 64, 100]
Rakendatud näide: Andmete filtreerimine konkreetsete tingimuste alusel
See kood ekstraheerib loendist ainult positiivsed arvud ja kogub need uude loendisse.
numbers = [-5, -1, 2, 8, -3, 7]
positive_numbers = [num for num in numbers if num > 0]
print(positive_numbers) # Output: [2, 8, 7]
If‑ ja for‑lause kirjutamine ühel real vähendab koodi kordust, võimaldades samal ajal tõhusat andmete manipuleerimist. 
5. Ühe‑rea if koos omistamise avaldisega (Walrus‑operaator)
Määramise väljend (merevaikude operaator) :=, mis loodi Python 3.8 ja hiljem, võimaldab muutuja väärtustamist if-lause sees. Selle peamine omadus on see, et see võimaldab hinnata tingimust samal ajal salvestades arvutuse tulemuse.
Määramise väljendite süntaks ja põhiline kasutamine
Määramise väljendite süntaks ja põhiline kasutamine
if (variable := expression) condition:
process
Näide: Loendi pikkuse kasutamine tingimusena
Loendi pikkus võetakse kätte ja hinnatakse tingimusena, samal ajal tehes selle põhjal töötlemist.
some_list = [1, 2, 3, 4, 5]
if (length := len(some_list)) > 3:
print(f"The length of the list is {length}, which is greater than 3")
# Output: The length of the list is 5, which is greater than 3
Praktilised kasutusjuhtumid
Merevaikude operaatori kasutamine võimaldab vältida korduvate arvutuste tegemist ja potentsiaalselt parandada jõudlust. See on eriti efektiivne olukordades, kus arvutuse tulemus – näiteks loendi või stringi operatsioonid – vajab uuesti kasutamist.
6. Märkused ühe rea if-lauste kasutamise kohta
Ühe rea if-laused on võimsad, kuid nende liigne kasutamine võib vähendada loetavust. Kasutage neid ainult lihtsate tingimuste kontrollimiseks ja lülitage tavalistele if-laustele üle, kui on vaja keerulisemat loogikat.
7. Kokkuvõte ja järgmised sammud
Selles artiklis tutvustasime mitmesuguseid tehnikaid Pythoni if-lauste kirjutamiseks ühel real. Alates lihtsamatest tingimuslikest harudest kuni loendite manipuleerimise ja merevaikude operaatori kasutamiseni katame ühe rea if-lauste eelised ja piirangud. Proovige neid tehnikaid rakendada, et muuta oma igapäevane Pythoni programmeerimine efektiivsemaks.



