Python
Julkaistu vuonna 1990 ja sen nimi perustuu Monty Pythonin lentävään sirkukseen. Nimi Python koettiin tarpeeksi lyhyenä ja mysteerisenä, joten se päätettiin jättää siihen muotoon.
Python on monipuolinen, tulkattava ohjelmointikieli. Pythonia pidetään helppona oppia sen yksinkertaisen syntaksin ja korkean tason tietorakenteiden takia.
Luonteenomaista Pythonille pyrkimys selkeään ja luettavaan koodiin. Kauneuden ja yksinkertaisuuden tavoittelu onkin osa suunnittelufilosofiaa.
2000-luvun alussa syntyi alkuperäisestä Python kielestä jalostettu Python 2.0, joulukuussa 2008 julkaistiin Python 3.0
Kehittäjä Guido van Rossum on pysynyt kielen kehityksessä koko sen historian ajan keskeisessä roolissa.
Esimerkki yksinkertaisesta ohjelmasta
def main(): print "Hello, World!" main()
Tai yksinkertaisemmin (ilman funktion määrittelyä):
print "Hello, World!"
Pythonin keskeiset piirteet
Voi käyttää oliopohjaisena, proseduraalisena tai funktionaalisena ohjelmointikielenä
Python on dynaamisesti tyypittävä ohjelmointikieli
Tulkattava joko tulkki + komentotulkilla tai käytettävä työkalua (esim. Eclipse pydev-plugarilla)
Muuttujat
nimi="Vesa" print"Hei,",nimi
Määrittää muuttujalle nimi arvoksi merkkijonon "Vesa"
nimi=raw_input("Kerro nimesi:") print"Hei,",nimi
Tulostaa "Kerro nimesi" ja sijoittaa syötteen muuttujaan
Syötteen ottaminen
input() voi ottaa vain kokonaislukuja tai liukulukuja, merkkijonoja vain jos se on sitaateissa!
Etuna, että tallentaa oikeantyyppisenä, eikä tyyppimuutos tarpeen.
raw_input() tallentaa kaiken merkkijonoina, mutta sitaatteja ei tarvita.
Sitaatit ja lainausmerkit samanarvoisia, mutta eivät toimi ristiin.
"kissa'
Saatetaan tarvita ohjausmerkkiä:
'vaa'alla' → 'vaa\'alla'
Tulostus useammalle riville: \n
print "Tama talle.\n Ja tama toiselle.
Tulostaa:
Tama talle.
Ja tama toiselle.
Sisäänrakennetuilla funktioilla kuten int(), str(), float()
>>> int("32") 32 >>> int("Hello") ValueError: invalid literal for int(): Hello Muuttaa siis liukulukuja kokonaisluvuksi, mutta ei osaa pyöristää {{>>> int(3.99999)}} {{3}} Float() muuttaa kokonaislukuja ja numeerisia merkkijonoja liukuluvuiksi: {{>>> float(32)}} {{32.0}} {{>>> float("3.14159")}} {{3.14159}} Str() muuttaa annettuja syötteitä merkkijonoiksi: {{>>> str(32)}} {{'32'}} {{>>> str(3.14149)}} {{'3.14149'}} h2. Ohjausrakenteet h3. If {code:Python} numero = 23 arvaus = input('Anna kokonaisluku : ') if arvaus == numero: print 'Arvasit oikein!' # Tästä alkaa uusi osio, huomaa sisennys print "Peli päättyy tähän" # Osio päättyy tähän elif arvaus < numero: print 'Luku on suurempi kuin arvaus' else: print 'Luku on pienempi kuin arvaus'
Toistorakenne While
hevi = True oletus = "ei" while hevi: arvaus = input('onko hevi kaupallista? : ') if arvaus == oletus: print 'Hevi on edelleen true' print "Poppia ei tueta!" else: print 'Hevista tuli poppi-gagaa' hevi = False else: print "Hevi ei ole enaa True, vaan", hevi
Toistorakenne For
for i in range(1, 5): print i else: print 'Silmukka on päättynyt.‟
eka = "rahat"' toka = "henki" while True: vastaus = raw_input("Rahat tai henki!\n") if vastaus == eka: print "Sulla on enemmankin!" continue elif vastaus == toka: Print "Bang!" Break else: print "Hopohopo" pass
Funtiot
Parametrit
def sanoTerve(nimi, osasto, vuosikurssi): print "Terve vaan "+nimi+"!" print "Ai, sä olet",+osasto+"," print "Ja että vuosi nro.",vuosikurssi sanoTerve("Vesku","Kone","4" )
Ylläolevassa esimerkissä ensin määritellään funktio "sanoTerve", jonka jälkeen funktiolle on määritelty parametrit "nimi", "osasto" ja "vuosikurssi". Funktion sisällä kutsutaan parametrejä (muuttujia) ja sijoitetaan tulostuskomennon sisään. Pääohjelmassa kutsutaan funtktio ja annetaan parametreille arvot.
Arvon palautus
def pullot(): maara = float(raw_input("Paljonko sulla on tolkkeja?\n")) arvo = 0.15 rahat = maara * arvo return rahat def main(): print "Jummijammi!", rahat, "euroa, tallahan saa wappusimaa!" rahat = pullot() main()
Luokat
class Mies: etunimi = "Jamppa" sukunimi = "Perus" ika = 34 ammatti = "insinööri" def sano(self): Print "Hyvaa kohta on valmista" mies1 = Mies() Mies2 = Mies() mies1.etunimi = "Kalevi" mies1.sukunimi = "Karvajalka" mies1.ika = 42 mies1.ammatti = "pommikoneen rahastaja" mies1.sano_hei() print mies1.etunimi, mies1.sukunimi,"on" print mies1.ika, "vuotta vanha", mies1.ammatti print "ja sanoo", mies1.sano_hei() print mies2.etunimi, mies2.sukunimi, "on" print mies2.ika, "vuotta vanha", mies2.ammatti
Lähteet
Wikipedia: Python
Luentokalvot: TKK:n kurssi T-106.1208 Ohjelmoinnin perusteet Y
Kasurinen, Jussi: Python - ohjelmointiopas, LUT 2008, ISBN 978-952-214-634-2
Pollari-Malmi, Kerttu: T-106.1208 Kurssin opetusmoniste, korjattu versio 10.2.2010