Python on korkean tason ohjelmointikieli, joka on suosittu aloittelijoiden keskuudessa. Se on helppo
oppia ja käyttää ja sillä on laaja valikoima kirjastoja, eli käskypaketteja, jotka tekevät ohjelmoinnista nopeaa ja tehokasta.
Pythonilla on monia käyttötapoja, kuten tietojen käsittelely, web-kehitys, tekoäly ja paljon muuta.
Pythonilla on monia komentoja, joita voit käyttää ohjelmoinnissa. Tässä on muutamia yleisiä Python-
komentoja.
print()
Print()-komentoa käytetään ruudulle tulostamiseen. Print-komennon sulkujen sisällä tulostettavaa tietoa voidaan myös käsitellä. Alla muutamia esimerkkejä.
Merkkijonojen kanssa sillä voidaan tulostaa merkkijono ruudulle, eli konsoliin. Merkkijonoja ovat esimerkiksi ”abc”,
”hello world” ja ”kas vain!”. Merkkijonoa ympäröivät lainausmerkit (”) tai heittomerkit (’). Merkkijonoja
voi yhdistää +-merkillä:”heippa” + ”rallaa” tarkoittaa samaa kuin ”heipparallaa”.
print(”Opetellaan Pythonia”) tulostaa ruudulle, eli konsoliin Opetellaan Pythonia print(”Heippa” + ”rallaa”) tulostaa ruudulle Heipparallaa.
Lukuarvojen kanssa sillä voidaan suorittaa laskutoimituksia.
Esimerkiksi seuraava ohjelma suorittaa joukon laskutoimituksia:
print(1 + 2 + 3 + 4 + 5)
print(1 + 2 * (100 – 20))
print(”Vuodessa on:”)
print(365, ”päivää”)
print(365 * 24, ”tuntia”)
Ohjelma tulostaa:
15
161
Vuodessa on:
365 päivää
8760 tuntia
input()
input() on Pythonin sisäänrakennettu kirjastofunktio, eli komento, joka pyytää käyttäjältä syötettä, eli vastausta konsoliin. Kun input()- funktiota eli käskyä kutsutaan, ohjelma pysähtyy ja odottaa käyttäjältä syötettä/vastausta.
Esimerkiksi:
input(’mikä on nimesi?’)
Ohjelma tulostaa:
mikä on nimesi? Ja tähän kohtaan voidaan kirjoittaa oma nimi.
Jos vastaavasti olisit kirjoittanut print(’mikä on nimesi?’), ohjelma kyllä tulostaa saman kysymyksen
mutta siihen ei pysty vastaamaan.
Muuttujat:
Muuttuja on tietokoneen muistissa oleva paikka, johon ohjelma voi tallentaa tietoa myöhempää käyttöä
varten. Muuttujalla on nimi sekä arvo, jolla tarkoitetaan muuttujan sisältöä. Muuttujassa voi olla tallessa merkkijono, lukuarvo tai jonkin muun tyyppistä tietoa.
Muuttujalle annetaan aluksi nimi ja nimeen tallennetaan arvo = merkinnällä. Tämän jälkeen muuttujan arvoa voi käyttää myöhemmin. Ohjelman aikana muuttujalle voi antaa uuden arvon. Muuttujan nimi on ohjelmoijan päätettävissä, ja hyvä
nimi kertoo, mitä muuttuja sisältää. Muuttujan nimessä voi olla kirjaimia, numeroita ja alaviivoja, mutta
se ei saa alkaa numerolla.
Esimerkki:
nimi = ’Laura’
print(’Hei ’+ nimi)
Ohjelma tulostaa:
Hei Laura
Esimerkki:
luku1 = 5
luku2 = 7
summa = luku1 + luku2
print(”Lukujen”, luku1, ”ja”, luku2, ”summa on”, summa)
Ohjelma tulostaa:
Lukujen 5 ja 7 summa on 12
Ehtolause: if – elif- else
Ehtorakenteiden avulla ohjelman toiminta voi vaihdella sen mukaan, mitä tietoja sille kulloinkin annetaan.
Esimerkiksi, jos ohjelma tarkistaa käyttäjän salasanan, se toimii eri tavalla tilanteissa, joissa salasana on
oikein tai salasana on väärin.
if-ehtolauseen lyhyempi muoto on seuraavan esimerkin if-else:
Esimerkki, kysytään käyttäjältä salasanaa. Jos salasanan on oikein (eli käyttäjä kirjoittaa tomaatti1!),
tulostuu teksti: tervetuloa. Jos salasanan kirjoittaa väärin, tulostuu teksti: väärä salasana.
salasana = input(”Kirjoita salasana: ”)
if salasana == ”tomaatti1!”:
print(”tervetuloa”)
else:
print(”väärä salasana”)
Huomaa, että Pythonissa sisennykset ovat tärkeässä roolissa ja yllä olevat ehtolauseet eivät toimi, jos niitä
ei ole sisennetty oikein. Sisennyksellä tarkoitetaan esimerkin print-käskyjen edessä olevia välilyöntejä, josta tietokone tietää, mitkä käskyt kuuluvat kyseiseen if- tai else-haaraan.
if-ehtolauseen pidempi muoto on seuraavan esimerkin if-elif-else:
Esimerkki: Kysytään käyttäjän nimeä. Jos se on Laura, tulostuu teksti: Moi Laura!. Jos käyttäjän nimi on
Suvi, tulostuu teksti: Morjens Suvi!. Kaikille muille nimille tulostuu teksti: Hellurei!
nimi = input(”Nimi: ”)
if nimi == ”Laura”:
print(”Moi Laura!”)
elif nimi == ”Suvi”:
print(”Morjens Suvi!”)
else:
print(”Hellurei!”)
Vertailuoperaattorit
Vertailuoperaattoreita käytetään hyvin usein ehtolauseissa.
vertailu Milloin tosi?
X == Y X on sama kuin Y
X != Y X ei ole sama kuin Y
X < Y X on pienempi kuin Y
X <= Y X on pienempi tai sama kuin Y
X > Y X on suurempi kuin Y
X >= Y X on suurempi tai sama kuin Y
ASCII ja ASCII taide
ASCII on 7-bittinen eli 128 merkkipaikan laajuinen tietokoneiden merkistö, joka sisältää ensisijaisesti
amerikanenglannissa tarvittavat kirjaimet, numerot, väli- ja erikoismerkkejä sekä eräitä ohjauskoodeja.
ASCII-taide eli ASCII-grafiikka on ASCII-merkistöllä tehtyä kuvataidetta. Se voi olla yhdellä rivillä
oleva, muutamista merkeistä koostuva pieni kuva kuten hymiö, mutta myös satoja rivejä pitkä, todella
monen merkin uurastus.
Esimerkki:
print(”__”)
print(” / \\”)
print(” | () () |”)
print(” \\ ^ /”)
print(” |||”)
tulostaa kuvan:
__
/ \
|() ()|
\ ^ /
|||
Castaus:
Joskus meidän täytyy pystyä määrittelemään muuttujan tyyppi. Tätä kutsutaan castaukseksi. Esimerkiksi,
jos haluat muuttaa esimerkiksi input-käskyn lukeman merkkijonon kokonaisluvuksi, voit käyttää int()-funktiota. Jos haluat muuttaa kokonaisluvun merkkijonoksi, voit käyttää str()-funktiota.
Esimerkiksi:
x = int(1) # muuttujaan x tallennetaan numero 1
y = int(2.8) # muuttujaan y tallennetaan numero 2
z = int(”3”) # muuttujaan z tallennetaan kirjaimen ”3” sijasta numero 3
While True ja While -silmukka:
Yksi Python-kielen toistorakenteista on while-silmukka, jossa ohjelma toistaa samaa koodia niin kauan,
kuin jokin ehto on voimassa.
Seuraava ohjelma kysyy käyttäjältä tunnussanaa, kunnes käyttäjä antaa oikean tunnussanan ”python”.
while True:
sana = input(”Kirjoita tunnussana: ”)
if sana == ”python”:
break
print(”Tervetuloa!”)
Tässä silmukan alussa on ehto True, joka on aina tosi eikä rajoita silmukan toistamista. Kuitenkin
silmukan sisällä komento break keskeyttää silmukan, jos käyttäjä antaa oikean tunnussanan.
Alla oleva koodi tulostaa “Hello, World!” 10 kertaa. Silmukka toistaa koodin sisältöä niin kauan kuin i on
pienempi kuin 10. Jokaisen toiston jälkeen i kasvaa yhdellä, kunnes se saavuttaa arvon 10, jolloin
silmukka lopetetaan.
i = 0
while i < 10:
print(”Hello, World!”)
i += 1
Listat
Lista on yleisin Python-kielen valmiista tietorakenteista ja soveltuu moniin ohjelmointitehtäviin.
Lista on muuttuja, joka sisältää kokoelman alkioita tietyssä järjestyksessä. Listassa olevat alkiot voivat
olla esimerkiksi lukuja tai merkkijonoja.
Listat ovat dynaamisia, eli niihin voidaan lisätä ja poistaa alkioita. Listan alkiot ovat järjestyksessä, joten
niihin voidaan viitata indeksillä. Listan voi luoda antamalla listan nimi ja sijoittamalla hakasulkeisiin
listan alkiot pilkuilla erotettuna.
Esimerkki:
Alla oleva lista on nimeltään hedelmat, joka sisältää neljä eri hedelmää: banaanin, appelsiinin, ananaksen
ja mangon.
hedelmat = [’banaani’, ’appelsiini’, ’ananas’, ’mango’]
Listan ensimmäinen alkio on aina indeksiltään 0 ja siihen viitataan listan nimellä ja laittamalla
indeksinumero hakasulkeisiin.
Komento: print(hedelmat[0]) tulostaa sanan banaani ja komento print(hedelmat[2]) tulostaa sanan
ananas.
For-silmukka listojen läpikäymiseen:
Listan läpikäyminen for-silmukalla on yleinen tapa käsitellä listoja Pythonissa. For-silmukka käy läpi
jokaisen listan alkion ja suorittaa sille määritellyn toiminnon. Esimerkiksi, jos haluat tulostaa kaikki listan
alkiot, voit käyttää seuraavaa koodia:
hedelmat = [’banaani’, ’appelsiini’, ’ananas’, ’mango’]
for alkio in hedelmat:
print(alkio)
tulostaa:
banaani
appelsiini
ananas
mango
For eli toistasilmukka asioiden toistamiseen:
Pythonissa for-silmukkaa toistamiseen käytetään yhdessä range()-funktion kanssa.
range()-funktio Pythonissa luo joukon kokonaislukuja, jotka voidaan käydä läpi for-silmukassa. Funktio
ottaa yhden, kaksi tai kolme argumenttia. Jos annat yhden argumentin, range(n) luo joukon
kokonaislukuja välillä [0, n).
Esimerkiksi:
for i in range(5):
print(”Moikka!”)
tulostaa:
Moikka!
Moikka!
Moikka!
Moikka!
Moikka!
Funktiot:
Funktioita käytetään ohjelmointikielissä aina kun ohjelmoija haluaa tehdä uuden oman käskyn suorittamaan tiettyjä tehtäviä. Pythonissa funktio määritellään def-sanalla. Tämän sanan jälkeen kirjoitetaan funktion nimi ja merkit (): heti nimen perään. Funktion käskyt kirjoitetaan sisennettynä nimi-rivin alle. Sisennys tehdään tab ta välilyönti-napeilla. Funktio voi saada alkuarvoja parametrina ja se voi myös palauttaa arvoja.
Esimerkiksi, jos haluat luoda funktion, joka tulostaa halutun tekstin, voit kirjoittaa seuraavan koodin:
def tervehdi():
print(”Hei maailma!”)
print(”Opettelen juuri funktioiden käyttöä.”)
Tämän jälkeen voit kutsua funktiota kirjoittamalla sen nimen:
tervehdi()
jolloin ohjelma tulostaa:
Hei maailma!
Opettelen juuri funktioiden käyttöä.
Turtle:
Turtle on Pythonin laajennus, jolla voi luoda graafista sisältöä. Graafisen sisällön luominen perustuu
olioon, joka liikkuu ruudulla ja piirtää ruudulle jäljen.
Turtle-grafiikkaa käytetään Pythonissa tuomalla turtle-kirjasto ohjelmaan. Tämä tapahtuu kirjoittamalla
koodin alkuun import turtle. Tämän jälkeen voit käyttää turtle-kirjaston käskyjä eli funktioita, kuten
turtle.forward(100) piirtääksesi kilpikonnan eteenpäin 100 pikseliä.
Komento Merkitys Esimerkki:
import turtle Tuodaan turtle-kirjasto käyttöön.
Tällä komennolla aloitetaan kaikki turtle-ohjelmat.
nimi = turtle.Turtle()
Luodaan muuttuja (olio), jota komennoilla ohjaillaan.
kilppari = turtle.Turtle()
nimi.shape(”haluttu muoto”)
Annetaan oliolle jokin muoto. Muoto voi olla arrow,turtle, circle, square, triangle tai classic.
kilppari.shape(”turtle”)
nimi.color(”väri”)
Annetaan oliolle ja sen jättämälle jäljelle jokin väri. Väri voi olla kirjoitettuna englanniksi tai se voi olla värikoodi.
kilppari.color(”red”)
Oliota voi liikuttaa eteen- ja taaksepäin sekä kääntää seuraavilla komennoilla. Oletuksena olio lähtee
liikkeelle näytön keskeltä ja katsoo oikealle.
Komento Merkitys Esimerkki:
nimi.forward(px)
Olio liikkuu px pikseliä siihen suuntaan, johon se parhaillaan osoittaa.
kilppari.forward(200)
nimi.backward(px)
Olio liikkuu px pikseliä taaksepäin siitä suunnasta, johon se parhaillaan osoittaa.
kiulppari.backward(200)
nimi.left(α)
Olio kääntyy myötäpäivään α astetta.
kilppari.left(90)
nimi.right(α)
Olio kääntyy vastapäivään α astetta.
kilppari.right(180)
Näyttö, jolla olio seikkailee, koostuu pikseleistä. Jokaisella pikselillä on (x, y)-koordinaatti kuten
meille tutussa xy-koordinaatistossa. Näytön keskikohdan koordinaatit ovat (0, 0).
Olio liikkuu tutussa xy-koordinaatistossa, vaikka x- ja y-akseleita ei näy.
Komento Merkitys Esimerkki:
nimi.goto(x,y)
Olio liikkuu nykyisestä olinpaikasta pisteeseen (x,y).
kilppari.goto(50,-100)
nimi.home()
Olio liikkuu pisteeseen (0,0).
kilppari.home()
Tässä vielä muutama piirtämiseen, värittämiseen ja tekstin kirjoittamiseen liittyvä komento.
Komento Merkitys Esimerkki
nimi.write(”teksti”)
Näytölle ilmestyy teksti siihen kohtaan, jossa olio on.
kilppari.write(”Hei”)
nimi.penup()
Olio ei jätä jälkeä penup-komennon jälkeen.
kilppari.penup()
nimi.pendown()
Olio jättää jäljen pendown-komennon jälkeen.
kilppari.pendown()
nimi.circle(säde)
Olio piirtää ympyrän, jonka säde on annettu.
kilppari.circle(25)
nimi.fillcolor(”väri”)
Määrää värin, jolla kuvion väritys tapahtuu.
kilppari.fillcolor(”blue”)