Python-oppimateriaali (CHEM-A2600)

Muuttujat

Ohjelmoidessa tallennamme tietoa muuttujiin (engl. variable). Esimerkiksi input-funktio tallentaa tässä esimerkissä käyttäjän syötteen merkkijonona muuttujaan, jonka nimi on etunimi:

etunimi = input("Anna etunimesi\n")

Tavallisia muuttujatyyppejä Pythonissa ovat:

Muuttujatyyppi      Nimi Pythonissa      Esimerkkejä      Kommentti
Merkkijono str "Hei!", 'OK' Sekä "kaksinkertaiset" että 'yksinkertaiset' lainausmerkit toimivat. 
Kokonaisluku int 2, 0, -2, 1924 Positiiviset ja negatiiviset kokonaisluvut ja nolla
Liukuluku float 1.04, -3.0004 Desimaaliluku
Kompleksiluku complex 2.0 + 3.0j Emme käytä tällä kurssilla
Totuusarvo bool True tai False Englannin kielen sanasta Boolean

Muuttujiin voidaan sijoittaa arvoja "="-merkin avulla. Muutama esimerkki muuttujien käytöstä:

iso_luku = 50000005
print("Iso lukumme on", iso_luku)
pieni_luku = 0.0009
print("Pieni lukumme on", pieni_luku) 

Ohjelma tulostaa:

Iso lukumme on 50000005
Pieni lukumme on 0.0009

Muuttuja iso_luku on ylläolevassa kokonaisluku, kun taas muuttuja pieni_luku on liukuluku.

Toisin kuin monissa muissa ohjelmointikielissä, Pythonissa muuttujan tyyppiä ei tarvitse määritellä ennen muuttujan käyttämistä. Python päättelee muuttujan tyypin, kun muuttujan arvo asetetaan. 

Merkkijonomuuttujien luominen

Esimerkki:

# Tyhjän merkkijonomuuttujan luominen:
teksti = ""
# Merkkijonomuuttujan alustaminen merkkijonolla:
tervehdys = "Hei!"
print(tervehdys)

tulostaa

Hei!

Muuttujien nimeäminen

Älä käytä muuttujien nimissä koskaan ääkkösiä (ä, ö, å) tai erikoismerkkejä (*, /, jne.)! Se johtaa ongelmiin. 

Lukuarvojen yksikköjen huomiominen

Tieteellisessä laskennassa meidän pitää aina olla selvillä käytössä olevista yksiköistä. Python ei pidä mitenkään kirjaa muuttujan yksiköistä, vaan se on ohjelmoijan vastuulla. Onkin erittäin tärkeää kirjata yksiköt aina muistiin kommentteina. Esimerkiksi:

# Tehtävän lähtöarvot
n = 0.334  # ainemäärä, mol
V = 0.014  # tilavuus, m^3
p = 101325 # paine, Pa

On erittäin suositeltavaa pitää kaikki lukuarvot SI-yksiköissä aina kun mahdollista.

Lisätietoa: Liukulukujen tieteellinen merkintätapa

Pythonissa voi käyttää myös tieteellistä merkintätapaa, missä 2e5 tarkoittaa 2 * 105. Esimerkki:

tosi_pieni = 0.0000002
print("Luku on:", tosi_pieni)

Tulostaa

Luku on: 2e-07

Tehtävä 1.2.1