Lisää Pythonista
Tähän lukuun on koottu vielä joukko erinäisiä hyödyllisiä Pythoniin liittyviä ominaisuuksia.
Yhden rivin ehto
Seuraavat koodit toimivat samalla tavalla:
if x%2 == 0:
print("parillinen")
else:
print("pariton")
print("parillinen" if x%2 == 0 else "pariton")
Jälkimmäisessä koodissa on yhden rivin ehto muotoa a if [ehto] else b
. Tällaisen lausekkeen arvo on a
, jos ehto pätee, ja muuten b
.
Sama rakenne on joskus hyödyllinen kun tehdään ehdollinen sijoituslause. Esimerkiksi jos haluaisimme joko kasvattaa muuttujaa y
tai nollata sen riippuen muuttujan x
arvon parillisuudesta, sen sijaan että kirjoittaisimme
if x%2 == 0:
y += 1
else:
y = 0
sama voitaisiin tehdä yhden rivin ehdolla seuraavasti
y = y + 1 if x%2 == 0 else 0
Tyhjä komento
Komento pass
ei tee mitään. Voimme tehdä sen avulla esimerkiksi funktion testi
, joka ei tee mitään:
def testi():
pass
Huomaa, että lohko ei voi olla tyhjä eli seuraava koodi ei toimisi:
def testi():
Silmukan else-osa
Kiinnostava Pythonin ominaisuus on, että ehtolauseen lisäksi myös silmukassa voi olla else-osa. Tämä osa suoritetaan, jos silmukka pääsee loppuun.
Esimerkiksi seuraava koodi etsii listalta parillista lukua. Jos sellainen löytyy, koodi tulostaa luvun ja silmukka päättyy. Kuitenkin jos lukua ei löytynyt, tästä tulee ilmoitus lopuksi.
lista = [3,5,2,8,1]
for x in lista:
if x%2 == 0:
print("löytyi parillinen", x)
break
else:
print("ei löytynyt parillista")
Perinteinen tapa tehdä tällainen silmukka olisi käyttää apumuuttujaa, joka muistaa, löytyikö haluttua asiaa silmukan aikana:
lista = [3,5,2,8,1]
loytyi = False
for x in lista:
if x%2 == 0:
print("löytyi parillinen", x)
loytyi = True
break
if not loytyi:
print("ei löytynyt parillista")
Kuitenkin silmukan else-osan avulla vältymme muuttujan tekemiseltä.
Funktion oletusparametri
Funktion parametrilla voi olla oletusarvo, joka tulee käyttöön silloin, jos parametria ei anneta. Näin on esimerkiksi seuraavassa funktiossa:
def tervehdi(nimi="Emilia"):
print("Moikka,", nimi)
tervehdi()
tervehdi("Erkki")
tervehdi("Matti")
Moikka, Emilia Moikka, Erkki Moikka, Matti
Muuttuva määrä parametreja
Funktiolla voi olla myös muuttuva määrä parametreja, mikä merkitään laittamalla tähti parametrin eteen. Tällöin kaikki loput parametrit kasautuvat listaksi tähän parametriin.
Esimerkiksi seuraava funktio kertoo parametrien määrän ja summan:
def testi(*lista):
print("Annoit", len(lista), "parametria")
print("Niiden summa on", sum(lista))
testi(1, 2, 3, 4, 5)
Annoit 5 parametria Niiden summa on 15
Vastaa kurssin lopuksi loppukyselyyn. Kyselyn tuloksia käytetään kurssimateriaalin kehittämiseen.
Log in to view the quiz