Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Samankaltaiset tiedostot
linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Fortran 90/95. + sopii erityisesti numeriikkaan:

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin alkeita Python-kielellä

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

Johdatus Ohjelmointiin

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Ohjelmoinnin perusteet Y Python

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

815338A Ohjelmointikielten periaatteet

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Ohjelmoinnin perusteet Y Python

Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

linux: komennoista linux linux

Ohjelmoinnin peruskurssi Y1

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

2 Konekieli, aliohjelmat, keskeytykset

Ohjelmoinnin peruskurssi Y1

linux: Ympäristömuuttujat

Ohjelmoinnin perusteet Y Python

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Ohjelmoinnin perusteet Y Python

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

Harjoitustyö: virtuaalikone

Ohjelmoinnin peruskurssi Y1

Harjoitus 1 -- Ratkaisut

PHP tehtävä 3 Atte Pekarinen TIKT13A

Ohjelmoinnin peruskurssi Y1

Harjoitus 10: Mathematica

Tietotyypit ja operaattorit

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

linux: Ympäristömuuttujat

Ohjelmoinnin perusteet Y Python

Valitse ruudun yläosassa oleva painike Download Scilab.

Java-kielen perusteita

Ohjelmoinnin peruskurssi Y1

Binäärioperaatiot Tiedostot ja I/O

Luento 5. Timo Savola. 28. huhtikuuta 2006

Ohjelmoinnin peruskurssien laaja oppimäärä, kevät

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Korpusten käsittely clt131, P Luento 5

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta Toteuta Pythonilla seuraava ohjelma:

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Luvuilla laskeminen. Esim. 1 Laske

Perintä (inheritance)

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Matlab- ja Maple- ohjelmointi

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin jatkokurssi, kurssikoe

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Transkriptio:

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009

Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Yleistä Merkkijonot Merkkijonojen kanssa on hyvä tulla toimeen koska Kaikki tulostettava tieto muutetaan ensin merkkijonoiksi. Usein pitää löytää ja eristää asioita tekstimuotoisesta datasta. Esimerkki Predicted Transit Epochs: HD209458_ b Observed Transit Duration: 184.2 Minutes Begin Transit Window PREDICTED CENTRAL TRANSIT End Transit Window All Times UT HJD Year M D H M 2454395.96 2007 10 22 10 59 24... 32 2454396.09 2007 10 22 14 5 2454399.48 2007 10 25 23 35 24... 8 2454399.61 2007 10 26 2 41 2454403.01 2007 10 29 12 11 24... 44 2454403.14 2007 10 29 15 17 2454406.53 2007 11 2 0 46 24... 19 2454406.66 2007 11 2 3 52 2454410.06 2007 11 5 13 22 24... 55 2454410.19 2007 11 5 16 28 2454413.58 2007 11 9 1 58 24... 31 2454413.71 2007 11 9 5 3 2454417.11 2007 11 12 14 33 24... 6 2454417.24 2007 11 12 17 39

Yleistä Merkkijonot Lainausmerkit Merkkijonoa voi merkitä joko yksin- tai kaksinkertaisilla lainausmerkeillä, kunhan jonon aloittavat ja lopettavat merkit täsmäävät. print "merkkijono" tai merkkijono merkkijono Lainaukset merkkijonoissa Merkkijonon sisälle voi lisätä lainausmerkkejä kahdella eri tavalla. print " blah " tai "blah" "blah" tai blah print "\"blah\"" tai \ blah\ "blah" tai blah

Käsittely Merkkijonojen käsittely Käsittely pääasiassa metodeilla mjono.metodi() Sisältyyko jono toiseen? Usein pitää tietää löytyykö haluttu sana tai lause tekstistä. Tähän käytetään Operaattoria in: karhu in karhunkierros. Metodia find: karhunkierros.find( karhu ). upper ja lower Muuttavat kaikki jonon merkit joko isoiksi tai pieniksi. print Nasu.upper(), Nasu.lower() NASU nasu

Käsittely Merkkijonojen käsittely split(erotin) Jakaa jonon listaksi annetun erottimen perusteella. print 1,2,3,4,5.split(, ) [ 1, 2, 3, 4, 5 ] strip(poistettavat) poistaa tekstin alusta ja lopusta kaikki merkkijonon merkit. print aspiipasas.strip( as ) piip replace(vanha, uusi) korvaa jokaisen jonon vanhan jonolla uusi. print nihnoh.replace( noh, supercalifragilistic ) nih supercalifragilistic

Muotoiltu tulostus Muotoiltu tulostus Muunnos merkkijonoksi Muuttujan voi muuttaa merkkijonoksi Funktiolla str(muuttuja) Numeerisen muuttujan muunnos merkkijonoksi Numeeriselle muuttujalle voi käyttää myös muotoiltua muunnosta. "%muotoilukoodi" %muuttuja Kokonaisluvulle %<#,0,+,-><leveys>i Reaaliluvulle %<#,0,+,-><leveys.desimaaleja><e,f,...> Esimerkki a = 1.5 print a on + str(a) a on 1.5 Esimerkki a = 1.5 print %6.3f %03i %(a, 6) 1.500 006

Käsittely Tiedostojen käsittely Tiedoston käsittelyn vaiheet Tiedostojen käsittely voidaan jakaa kolmeen osaan: Tiedoston avaaminen open(nimi, moodi) komennolla: f = open( data.dat, r ) Tiedostosta lukeminen tai siihen kirjoittaminen metodeilla: data = f.read() data = f.readlines() data = f.write() Tiedoston sulku close() metodilla: f.close() Tiedoston voi avata joko Lukemista r, Kirjoittamista w tai molempia rw varten. Lisäksi myös mm. a, rb, wb

Lukeminen Tiedostosta lukeminen Lukemiseen käytettävistä metodeista read() palauttaa koko tiedoston yhtenä merkkijonona. readline() palauttaa tiedostosta yhden rivin kerrallaan. readlines() palauttaa koko tiedoston rivilistana.

Lukeminen Tiedostosta lukeminen: esimerkki Esimerkki testi.txt: HJD Year M D H M 2454395.96 2007 10 22 10 59 24... 32 2454396.09 2007 10 22 14 5 2454399.48 2007 10 25 23 35 24... 8 2454399.61 2007 10 26 2 41 2454403.01 2007 10 29 12 11 24... 44 2454403.14 2007 10 29 15 17 Esimerkki f = open( testi.txt, r ) datain = f.readlines() f.close() date = [] for line in data: date.append(float(line.split()[0])) print date

Kirjoittaminen Tiedostoon kirjoittaminen Tekstitiedostoon kirjoitetaan metodeilla: write(merkkijono) writelines(lista) Esimerkki a = 1.2 f = open( testi.txt, w ) f.write("jee! %4.1f" % a) f.close() testi.txt: Jee! 1.2

Käyttö Moduli Moduli on pythoniin ladattava kirjasto, joka voi sisältää funktioita, vakioita ja omia tyyppejään. Erilaisiin käyttötarkoituksiin löytyy valtava määrä valmiita moduleita, jolloin pyörää tarvitsee harvoin keksiä uudestaan. Tärkeää! Moduli on yksinkertaisesti normaali python-tiedosto, joka ei sisällä suoritettavaa koodia. Lataaminen Jos meillä on moduli modu.py paikassa josta python löytää sen, se voidaan ladata koodiin komennoilla import mod <as nimi> Yksittäinen asia modulista ladataan komennolla from mod import asia

Käyttö Esimerkki Esimerkkimoduli vektori.py: one = 1.0 class v3d: init (self, x=0.0, y=0.0, z=0.0 ): self.x = x self.y = y self.z = z def dot(a,b): return a.x*b.x + a.y*b.y + a.z*b.z Esimerkki import vektori as v v1 = v.v3d(1.0,2.0,3.0) v2 = v.v3d(1.0,6.0,4.0) print v.dot(v1, v2) + v.one

Käyttö Hyödyllisiä Pythonin peruskirjastoja Muista! Modulin sisällön voi aina tarkistaa komennolla dir(nimi). Math Sisältää matemaattisia funktioita ja vakioita, mm: Neliöjuuri sqrt(x) Potenssi pow(x,p) Trigonometriset funktiot sin(x), asin(x), cos(x),... Luonnollinen eksponentti exp(x) ja logaritmi log(x) π pi Random Satunnaislukujen generointiin. random() palauttaa satunnaisluvun väliltä [0.0, 1.0). Muutakin hyödyllistä: http://docs.python.org/lib/module-random.html.

Käyttö Hyödyllisiä Pythonin peruskirjastoja Os Työkalufunktioita Tiedostopolkujen hallintaan. Prosessien hallintaan. Tiedostojen hallintaan. Sys Järjestelmäfunktioita argv lista joka sisältää skriptille annetut komentoriviparametrit, äärimmäisen hyödyllinen. exit() lopettaa koodin suorittamisen.

Seuraava luento Seuraavalla luennolla Numeerisen datan käsettelemiseen: NumPy Hyödyllisiä kirjastoja. WWW ja tähtitiede: Mistä löytää tietoa, ja kuinka sitä hakea.