CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, 03.06.2019-31.08.2019
Kurssiasetusten perusteella kurssi on päättynyt 31.08.2019 Etsi kursseja: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Lyhyt opas Python-ohjelmointiin
Moduulit
Suuremmat ohjelmakokonaisuudet on aina parasta jakaa moduuleiksi. Moduulien avulla ohjelman rakenne pysyy paremmin hallinnassa ja moduuleja voi käyttää helposti uudelleen toisissa ohjelmissa.
Käytetään esimerkkinä moduulia ideaalikaasu, joka käytännössä olisi siis alla oleva koodi tallennettuna tiedostoon ideaalikaasu.py:
# Moduuli ideaalikaasu: # Apufunktioita ideaalikaasulle # pV = nRT # Moduuli määrittelee myös kaasuvakion R # Lähde NIST CODATA: https://physics.nist.gov/cgi-bin/cuu/Value?r R = 8.3144598 # J K^-1 mol^-1 # Moduuli määrittelee neljä funktiota def ratkaise_paine(V, n, T): return n * R * T / V def ratkaise_tilavuus(p, n, T): return n * R * T / p def ratkaise_ainemaara(p, V, T): return p * V / (R * T) def ratkaise_lampotila(p, V, n): return p * V / (n * R)
Luodaan moduulin ideaalikaasu.py kanssa samaan hakemistoon tiedosto testi.py, jossa hyödynnämme ideaalikaasu-moduulia import-avainsanan avulla:
# Tuodaan koko ideaalikaasu-moduuli ohjelman testi.py käyttöön import ideaalikaasu # ideaalikaasu-moduulin funktioiden eteen pitää lisätä viittaus "ideaalikaasu." p = ideaalikaasu.ratkaise_paine(0.002, 0.01, 300) # Parametrit V, n, T print(round(p, 3))
Toinen tapa on tuoda ideaalikaasu-moduulista vain tietyt funktiot ja muuttujat testi.py-ohjelman käyttöön. Tähän käytetään käskyä from MODUULI import FUNKTIOT
# Tuodaan tietyt funktiot (ja/tai muuttujat) ohjelman testi.py käyttöön from ideaalikaasu import ratkaise_paine, ratkaise_tilavuus, R # Nyt meidän ei tarvitse käyttää "ideaalikaasu."-viittausta p = ratkaise_paine(0.002, 0.01, 300) # Parametrit V, n, T V = ratkaise_tilavuus(101325, 0.01, 300) # Parametrit p, n, T print(round(p, 3)) print(round(V, 5)) print("Kaasuvakion R arvo on", R, "J/mol K")
Vähänkin laajemissa ohjelmakokonaisuuksissa kannattaa miettiä ohjelman pilkkomista helpommin ylläpidettäviin ja uudelleenkäytettäviin moduuleihin.
import-käskyyn voi yhdistää as-avainsanan, jolloin ohjelmaan tuotavan moduulin nimeä voi vaikkapa lyhentää. Käsky on tällöin import MODUULI as LYHENNE:
import ideaalikaasu as ik
p = ik.ratkaise_paine(0.002, 0.01, 300) # Parametrit V, n, T