Tietokoneiden näyttöjä, joissa näkyy kuvaa automaatiolaboratorion laitteistosta. Monitoreiden takana näkyy sama laitteisto kuin kuvissa.

timohei.net / Opintojaksot / Opintojaksot / Soveltava ohjelmointi / Python-ohjelmointi /
Python vs. muut kielet

Moni ohjelmointikieli muistuttaa Pythonia hyvin paljon. Niinpä osaamalla Pythonia, muilla ohjelmointikielillä luotujen ohjelmien pääpiirteinen toiminta on mahdollista selvittää. Tällä sivulla käyn läpi muutamia peruskäskyjen ja -ilmausten eroja Pythonin ja muiden yleisesti käytettyjen kielten välillä.

Ohjelmalohkot

Pythonissa ohjelmalohko merkitään sisentämällä ohjelmarivit, jotka kuuluvat ko. lohkoon. Ohjelmalohkon määrittävä rivi päätetään kaksoispisteeseen. Yhdellä rivillä voi pääsääntöisesti olla vain yksi komentokokonaisuus.

Muissa kielissä ohjelmalohko sijoitetaan aaltosulkujen (curly brackets) sisään, paitsi jos ohjelmalohko sisältää vain yhden komennon, jolloin aaltosulkuja ei tarvita. Jokainen lohkon ohjelmarivi päätetään puolipisteeseen. Lisäksi esimerkiksi if-käskyn ehto-osa suljetaan sulkujen sisään. Sisennys ei ole pakollinen, mutta usein ohjelmalohkot sisennetään luettavuuden parantamiseksi.

Python

rivi = 1
if rivi > 1:
    print("Ei ensimmäinen rivi")
print("Tämä tulostetaan aina")

C, JavaScript, PHP

rivi = 1;
if (rivi > 1) {
  printf("Tämä ei ole ensimmäinen rivi");
}
printf("Tämä tulostetaan aina");

Sijoitusoperaattorit

Sijoitusoperaattorilla tarkoitetaan merkkiä tai merkkiyhdistelmää, jolla muuttujalle annetaan arvo. Useimmissa kielissä sijoitusoperaattori on yhtäsuuruusmerkki =; joissakin kielissä, kuten Pascalissa ja Siemensin SCL-kielessä sijoitusoperaattori on :=. Sijoitusoperaation voi monissa ohjelmointikielissä ketjuttaa (chained assignment; esim. Python, C), jolloin yhdellä rivillä voidaan antaa sama arvo useammalle muuttujalle. Monelle muuttujalle voidaan yhdellä rivillä antaa myös kullekin omat arvonsa, jolloin puhutaan rinnakkaisista sijoitusoperaatiosta (paraller assignment; esim. Python, JavaScript, PHP).

Laajennetuilla sijoitusoperaattoreilla (augmented assignment, compound assignment tarkoitetaan operaattoria, jolla muuttujaan sijoitetaan arvo, joka saadaan ko. muuttujan vanhan arvon ja matemaattisen tai loogisen operaation tuloksena. Pythonissa ei ole käytettävissä monissa muissa kielissä mahdollinen inkrementointi- tai dekrementointi-operaatio, jossa muuttujan arvoa kasvatetaan tai vähennetään yhdellä.

Useimmat kielet

x = 10
x += 1     # x:n arvoon 10 lisätään 1 ja tuloksesta 11 tulee uusi x:n arvo
x += 3     # x:n arvoon 11 lisätään 3 ja tuloksesta 14 tulee uusi x:n arvo
x -= 2     # x:n arvosta 14 vähennetään 2 ja tuloksesta 12 tulee uusi x:n arvo
x *= 2     # x:n arvo 12 kerrotaan 2:lla ja tuloksesta 24 tulee uusi x:n arvo
x /= 2     # x:n arvo 24 jaetaan 2:lla ja tuloksesta 12 tulee uusi x:n arvo
x = y = 10 # x:n ja y:n arvoiksi tulee 10

C, JavaScript, PHP mutta ei Python

x = 10;
y = ++x * 2; // x:n arvoa kasvatetaan ensin yhdellä ja kertominen suoritetaan
             // vasta sitten, joten y saa arvon 11 * 2 = 22 ja x = 11
y = x++ * 2; // x kerrotaan ensin kahdella ja x:n arvoa kasvatetaan yhdellä,
             // vasta sitten joten y saa siis arvon 10 * 2 = 20 ja x = 11
Päivitetty 28.8.2022

<<  Edellinen
(14) Näppäimistön lukeminen
Sivu 15/17Seuraava >>
(16) Internet-yhteyden yli viestiminen
© Timo Heikkinen | timo piste heikkinen at oamk piste fi