Skip to content

Merkkijonot

Merkkijonojen yhdistäminen

Voit yhdistää merkkijonoja + operaattorilla.

fname = "Annika"
lname = "Virta"
fullname = fname + lname
print(fullname)
print

Sinuun täytyy lisätä tarvittaessa välilyönti merkkijonojen väliin. Seuraavassa esimerkissä se on tehty käyttäen +-operaattoria.

fname = "Annika"
lname = "Virta"
fullname = fname + ' ' + lname
print(fullname)
print

Useampi muuttuja Print-funktiossa

Print-funktio voi esittää usemman muuttujan arvon. Erota tekstit tai muuttujat toisistaan pilkulla.

fname = "Jack"
lname = "Russell"
print(fname, lname)
print

Huomaa että Python jättää automaattisesti välilyönnin tekstien/muuttujien väliin kun käytät pilkkua.

fname = "Jack"
lname = "Russell"
print("Hyvää päivää", fname, lname)
print

Voit print-funktiossa käyttää myös luku-muuttujia.

fname = "Reiska"
age = 42
print("Terve", fname, "olet", age, "vuotta")
print

Merkkijono on jono merkkejä

Merkkijono on nimensä mukaisesti jono merkkejä.
merkkijono Merkkijonon yksittäisen merkin voi hakea indeksin avulla. Indeksit alkavat nollasta.

mjono = "Jack Russell"
eka = mjono[0]
vika = mjono[11]
print(f"Merkkijonon {mjono} ensimmäinen merkki on {eka} ja viimeinen {vika}.")
merkkijono

Merkkijonon pituus saadaan len-funktiolla.

mjono = "Jack Russell"
pituus = len(mjono)
print(f"Merkkijonossa {mjono} on {pituus}, huomaa että tyhjäkin on merkki ;-)")
merkkijono

Seuraavassa esimerkissä näytetään etunimen ensimmäinen kirjain nimen merkkien verran, eli tässä tapauksessa viisi kertaa.

nimi = "Diana"
eka = nimi[0]
pituus = len(mjono)
print(eka * pituus)
Diana

Merkkijonon muotoilu format-funktiolla

Joskus tulosten esittämisessä on tärkeää, että tulos esitetään tietyllä tarkkuudella. Muista fysiikan ja matematiikan laskujen yleisperiaate: "Tarkkuus ei laskemalla lisäänny, vaan epätarkin arvo määrittää esitystarkkuuden." Voit print-funktion yhteydessä muotoilla ja esittää desimaalilukuja halutulla tarkkuudella käyttämällä format-funktiota.

Seuraavassa esimerkissä on liukuluku esitetty ensin yhden desimaalin ja sitten kahden desimaalin tarkkuudeella

litres = 12.345000001
#yhden desimaalin tarkkuus
print("Kulutus: {:.1f} litraa".format(litres))
#kahden desimaalin tarkkuus
print("Kulutus: {:.2f} litraa".format(litres))
print

Merkkijonon koostaminen ja muotoilu f-merkkijono

Python-versiossa 3.6 esiteltiin uusi tapa muotoilla merkkijonoja, kutsumme sitä yksinkertaisesti f-merkkijonoksi (engl. f-string). f-merkkijono on kätevä tapa muodostaa merkkijonoja ja muotoilla niitä. Sen avulla on helppo leipoa muuttujien arvoja merkkijonoihin. Muuttuja kirjoitetaan aaltosulkujen {} sisään, ja Python huolehtii että se rakentaa merkkijonon oikein. Kiva :-) Koska f-merkkijono tuli Pythonin versioon 3.6, voi vanhemmasta materiaalista löytyy eri tapoja muotoilla merkkijonoja, suosittelemme kuitenkin sen f-merkkijonp käyttöä.

Koostaminen f-merkkijono

Seuraavassa esimerkissä muuttujan arvo lasketaan kahden luvun tulona ja tulos esitetään käyttäjälle. Huomaa f käyttö merkkijonon edessä ja {} käyttö muuttujan nimen ympriööä!

a = 6
b = 7
x = a * b
print(f"Is {x} meaning of life?")
f

Voit yhdistää useita eri muuttujia merkkijonoon f-stringin avulla.

a = 6
b = 7
x = a * b
print(f"Lukujen {a} ja {b} tulo on {x}.")
f2

Muotoilu f-merkkijono

f-merkkijonojen {muuttuja}-kenttää voi muotoilla lukuisilla eri tavoilla. Sen tyypillisin käyttötapa on {muuttuja:.}.

Kentän tyyppiä merkitään kirjaimilla. Tärkeimpiä kentän tyyppejä ovat:
- liukuluku f
- kokonaisluku d
- merkkijono s

Voit esittää liukulukuja halutulla määrällä desimaaleja f-merkkijonon avulla. Huomaa että muuttujan nimen jälkeen on kaksoispiste : sitten piste . ja desimaalien määrä 2f.

price = 12.45 
weigth = 0.89
summa = price * weigth
print(f"Exact sum is {summa}")
print(f"Sum with two decimals {summa:.2f}")
f2

Merkkijonojen käsittely

Python sisältää lukuisia valmiita metodeja (eli funktioita) merkkijonojen käsittelyyn. Voit esimerkiksi muuttaa merkkijonon kaikki kirjaimet isoiksi kirjaimiksi, pieniksi kirjaimiksi, voit muuttaa halutut merkit merkkijonosta jne.
Täältä löytyy kattava lista merkkijonojen metodeja