You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Julkaistu vuonna 1990

Nimi perustuu Monty Pythonin lentävään sirkukseen

Nimi Python koettiin tarpeeksi lyhyenä ja mysteerisenä

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.

Luonteenomaista pyrkimys selkeään ja luettavaan koodiin

Kauneuden ja yksinkertaisuuden tavoittelu onkin osa suunnittelufilosofiaa.

def main():
	print "Hello, World!"

main()

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

print "Hello, World!"

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)

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

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 "Tämä tälle.\n Ja tämä 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'

{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'
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
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
def sanoTerve(nimi, osasto, vuosikurssi):
	print "Terve vaan "+nimi+"!"
	print "Ai, sä olet",+osasto+","
	print "Ja että vuosi nro.",vuosikurssi

sanoTerve("Vesku","Kone","4" )
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()
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

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

  • No labels
You must log in to comment.