Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Esimerkki yksinkertaisesta ohjelmasta

Code Block
PythonPython
def main():
	print "Hello, World!"

main()

Tai yksinkertaisemmin (ilman funktion määrittelyä):

Python
Code Block
Python

print "Hello, World!"

Pythonin keskeiset piirteet

...

Tulkattava joko tulkki + komentotulkilla tai käytettävä työkalua (esim. Eclipse pydev-plugarilla)

Muuttujat

Python
Code Block
Python

nimi="Vesa"
print"Hei,",nimi

Määrittää muuttujalle nimi arvoksi merkkijonon "Vesa"

Code Block
PythonPython

nimi=raw_input("Kerro nimesi:")
print"Hei,",nimi

...

raw_input() tallentaa kaiken merkkijonoina, mutta sitaatteja ei tarvita.

Merkkijonot

Sitaatit ja lainausmerkit samanarvoisia, mutta eivät toimi ristiin.
"kissa'

Saatetaan tarvita ohjausmerkkiä:
'vaa'alla' → 'vaa\'alla'

Ohjausmerkit

Tulostus useammalle riville: \n

Python
Code Block
Python
		
print "Tama talle.\n Ja tama toiselle.

Tulostaa:
Tama talle.
Ja tama toiselle.

Tyyppimuutokset

Sisäänrakennetuilla funktioilla kuten int(), str(), float()

>>> int("32")
32

>>> int("Hello")
ValueError: invalid literal for int(): Hello

...

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'

Ohjausrakenteet

If

Muotoiltu tulostus

Muuttujaa voidaan kutsua tulostukseen

Code Block
print "diipadaa", kissa, "jadijada"
print "metsastys"+koira+"koulutus"

Esimerkissä muuttuja "kissa" on eroteltu muusta tulostuksesta pilkuilla. Pilkku ohjaa tulostusta siten, että se sijoittaa välilyönnin molemmin puolin muuttujaa. Muutuja "koira" taas on sijoitettu siten, että sen ympärille ei tule välejä, jolloin tulostus on yhdyssana.

Code Block
print "kaapissa on %.3f olutta" % (maara)

Tässä esimerkissä muuttuja on sijoitettu tulostuskäskyn sijaan ja sille on annettu määreeksi kolme desimaalia.

Ohjausrakenteet

If

Code Block
Code Block
PythonPython

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

Python
Code Block
Python

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

Python
Code Block
Python

for i in range(1, 5):
	print i
else:
	print 'Silmukka on päättynyt.‟

Ohjauskomennot

Python
Code Block
Python

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

Python
Code Block
Python

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

Python
Code Block
Python

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()

Ohjelmassa määritellään funktiot "pullot()" ja "main()" (näillä ei ole argumentteja - argumentit eivät ole välttämättömiä!). Funtio pullot palauttaa muuttujan "rahat" arvon. Pääsuorituksen tasolla on määritelty muuttuja "rahat" siten, että se suorittaa funtion "pullot()". Tämän jälkeen palautettua arvoa käyttäen kutsutaan funtio "main()", jossa käytetään muuttujan "rahat" arvoa.

Luokat

Python
Code Block
Python

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

...

Pollari-Malmi, Kerttu: T-106.1208 Kurssin opetusmoniste, korjattu versio 10.2.2010

Linkit

Python kotisivu
Kasurinen, Jussi: Python - ohjelmointiopas