Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Kehittäjä Guido van Rossum on pysynyt kielen kehityksessä koko sen historian ajan keskeisessä roolissa.

Esimerkki yksinkertaisesta ohjelmasta

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

main()

...

Code Block
Python
Python
print "Hello, World!"

Pythonin keskeiset piirteet

Voi käyttää oliopohjaisena, proseduraalisena tai funktionaalisena ohjelmointikielenä

...

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

Muuttujat

Code Block
Python
Python
nimi="Vesa"
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!

...

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

Tulostaa:
{{
Tama talle.
Ja tama toiselle.
}}

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

Code Block
Python
Python
>>> 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

Code Block
Python
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

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

Code Block
Python
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

Code Block
Python
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

Code Block
Python
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()

Luokat

Code Block
Python
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

Lähteet

Wikipedia: Python

Luentokalvot: TKK:n kurssi T-106.1208 Ohjelmoinnin perusteet Y

...