Python vs. muut kielet
458 528 623
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ä.
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.
rivi = 1if rivi > 1:"Ei ensimmäinen rivi" )"Tämä tulostetaan aina" )
rivi= 1 ;if ( rivi> 1 ) { printf( "Tämä ei ole ensimmäinen rivi" );} printf( "Tämä tulostetaan aina" );
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ä.
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
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