41.014 pregleda

Serijal tekstova: zajedno naučimo Python (dio 1. uvod u Python)

55

Danas se svi koristimo računalima za razne svrhe — za surfanje internetom, rad s uredskim alatima, gledanja filmova, slušanja glazbe itd. Međutim, sve te stvari nisu nastale same, već ih je netko trebao osmisliti i isprogramirati. Pa, ako ste jedan od onih koje je uvijek zanimalo što se nalazi ispod „haube” i na koji način to funkcionira, a do sada niste to istražili, onda je ova serija tutoriala upravo za vas. Naime, u ovoj seriji tutoriala pokazat ću vam osnove programskoga jezika Python.

Python je interpreterski programski jezik koji je vrlo jednostavan, a takva mu je i sintaksa te je zato vrlo dobar za početnike. Međutim, nemojmo ga podcijeniti, jer ovaj programski jezik je i izrazito moćan.

Što se tiče neke povijesti ovog programskoga jezika i sličnih stvari, mislim da vas time ne trebam zamarati, nego krenimo čim prije s radom. Ipak, da bismo mogli programirati u Pythonu, potrebno ga je instalirati te instalirati razvojno okruženje u kojem ćemo raditi. Pozitivna strana je da gotovo svaka distribucija ima već instaliran Python, u većini slučajeva verziju 2.7. Ipak, kako bismo to provjerili, u terminal upišimo:

$ python -V

Sada biste trebali vidjeti broj verzije ako imate instalirani Python. Međutim, ove tutoriale radit ću u novijoj verziji Pythona, odnosno u Pythonu 3.x. Neke distribucije već imaju instaliranu i ovu verziju, no većina ih nema. Ipak, provjerite je li instalirana na ovaj način:

$ python3 -V

Ako imate instaliran Python 3.x, ove sljedeće korake ne trebate raditi, dok svi ostali koji nemate opet pokrenite terminal i upišite:

Za Ubuntu, Mint i sl.

$ sudo apt-get install python3 python3-all

Dok za ostale distribucije (npr. Arch, Fedora, Gentoo,OpenSUSE itd.) koristite sljedeće korake:

“$ wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2
$ tar -xjf Python-3.3.2.tar.bz2
$ cd Python-3.3.2
$ ./configure
$ make
$ sudo make install

I kako bismo obrisali datoteke koje smo preuzeli,a više nam ne trebaju, u terminal upišemo:”

$ cd ..
$ sudo rm -r Python-3.3.2*

Nakon što unesete lozinku i instalacija se završi, kako biste provjerili da je instalacija bila uspješna, u terminal upišite:

$ python3

Na ovaj način ušli smo u Pythonovo interaktivno okruženje u kojem možemo izvršavati naredbe i dijelove koda. Za početak, možemo napisati naš prvi program, pa tako napišite unutar navodnika neku svoju poruku i pritisnite ENTER, primjerice:

print(“Pozdrav od LZS-a”)

U sljedećem redu trebala bi se ispisati upravo poruka koju ste napisali unutar navodnika, u ovom slučaju „Pozdrav od LZS-a”. I eto, možemo reći da ste svoju prvu liniju koda uspješno napisali! 🙂
Sada, kako bismo izašli iz Pythona, pritisnite CTRL + D ili jednostavno upišite:

exit()

i pritisnite ENTER.

Uvod u Python

NAPOMENA: Kod pisanja u terminalu, geditu, geanyu i sličnim programima, navodnici su drugačiji od onih u procesorima teksta. Iz tog razloga ako kopirate kod sa ovih stranica, program NEĆE raditi. Sve što trebate je izbrisati i ponovo napisati navodnike u onom alatu kojem radite.

Prvi smo dio zadatka riješili. Međutim, sljedeći problem je kako kvalitetnije napisati kȏd i imati kontrolu nad njim. Opet, to možemo na više načina — uz pomoć terminala, gedita ili nekog uređivača teksta.
U ovom slučaju, ja ću prvo to prikazati na najosnovniji način („teži” način), uz pomoć terminala, a kasnije pomoću uređivača teksta.

Za početak, pokrenimo terminal i pokrenimo uređivač teksta, nano:

$ nano

Trenutačno smo u uređivaču teksta i možemo krenuti s pisanjem koda. Važno je napomenuti da se na vrhu svakoga programa u Pythonu mora nalaziti određeno zaglavlje, neovisno o tom radi li se u uređivač teksta ili o terminalu, kako bi se program mogao pokretati kao skripta, odnosno preko terminala. Stoga, u prvi red napišimo:

#!/usr/bin/env python

Sada, nakon što smo to napisali, vrijeme je za pisanje koda. Napišimo tri rečenice koje ćemo ispisati, gdje, naravno, upotrebljavamo funkciju print:

print(“Danas je lijep dan.”)
print(“Ovogodisnje LZS majice su zakon!”)
print(“Python mi se svida :)”)

Uvod u Python

Sada, kada smo to učinili, vrijeme je da spremimo to u datoteku. To činimo tako da pritisnemo CTRL + O i napišemo ime datoteke s nastavkom .py, u ovom slučaju neka se program zove vjezba.py. Kad datoteku spremimo, preostaje nam izaći iz programa pomoću kombinacije tipki CTRL + X. Sada smo se vratili u terminal i trebali bismo pogledati što to imamo u direktoriju. Za to nam treba naredba ls. Pa napišimo:

$ ls

U prikazu bi se trebala nalaziti i naša datoteka vjezba.py. Kako bismo ju mogli pokretati u terminalu, potrebno joj je pomoću naredbe chmod omogućiti pokretanje. To možemo na više načina, ovisno komu želimo dopustiti da ju može pokretati, ali to sada nije tema niti treba ići u detalje, dovoljno je reći da ćemo je učiniti takvom da je svatko može pokretati, a za to u terminal upisujemo:

$ chmod +x vjezba.py

Naravno, kada ćete raditi svoje programe, umjesto „vjezba.py” napisat ćete ime svoga programa. I sada nam preostaje samo pokrenuti skriptu, a to radimo na ovaj način:

$ ./vjezba.py

Uvod u Python

Ako ste sve dobro napravili, trebale bi se ispisati one tri rečenice koje ste napisali u programu. I, naravno, napravili ste i svoju prvu skriptu u Pythonu 🙂 ALI!!! Treba napomenuti, ovo je ipak bio „teži” način jer ćemo mi sve stvari raditi u uređivaču teksta i to je onaj dio koji ćemo sad predstaviti.

Za početak nam je potrebno neko razvojno okruženje, ja sam se odlučio na jedno veoma jednostavno a opet funkcionalno i kvalitetno za sve što ćemo raditi. Program se zove Geany, ako ga nemate instaliranog, sve što trebate je u terminal upisati:

$ sudo apt-get install geany geany-common

Nakon što se Geany instalirao trebate izaći iz terminala i pokrenuti ga. Otvara se jednostavno korisničko sučelje gdje bi već trebala biti otvorena nova datoteka untitled. Ako nije, kliknite na File >> New. Eto, ovo je mjesto gdje će se događati sva radnja sljedećih tutoriala.

Pa, kako smo i prije, možemo i sada napisati kratki uvodni program te vidjeti radi li. U prvi red napišimo zaglavlje (iako za pokretanje u Geanyju nije potrebno ali je preporučljivo) te funkciju print pomoću koje ćemo ispisati tekst:

#!/usr/bin/env python
print(“Pozdrav!”)

Sada trebamo spremiti datoteku, a to radimo tako što kliknemo na File >> Save ili kraće CTRL + S te napišemo proizvoljno ime datoteke s nastavkom .py. Vidimo da se, pošto smo spremili datoteku pod nastavkom .py, sȃm kod promijenio, odnosno obojena mu je sintaksa. Da bismo pokrenuli program trebamo kliknuti na Build >> Execute ili jednostavno pritisnuti tipku F5. Nakon što nam se ispisala poruka, pritisnemo ENTER za izlazak iz programa. I tako smo došli do kraja prvoga tutoriala iz Pythona.

Uvod u Python

Iako je možda ovaj prvi tutorial izgledao zastrašujuće, možda zbog previše „motanja” po terminalu, pogotovo za početnike u svijetu Linuxa, obećavam da terminal u sljedećim tutorialima nećemo upotrebljavati, već ćemo se držati Geanyja i raditi sve u njemu. Naravno, početak u pravilu i nije previše zanimljiv, pogotovo jer se više toga podešavalo, a manje se radio sam Python, ali u sljedećem nastavku kreću novi i zanimljivi izazovi!

Do sljedećeg puta,

Nikola

VN:F [1.9.22_1171]
Rating: 4.9/5 (38 votes cast)
Serijal tekstova: zajedno naučimo Python (dio 1. uvod u Python), 4.9 out of 5 based on 38 ratings

55 komentara

  1. calisto053 napisao:

    Izuzetno jednostavno i zanimljivo! Čestitke autoru, veselim se nastavcima! 😉

  2. Filip napisao:

    Već dugo vremena želim naučiti python,i mislim da je ovo super početak za mene,pogotovo jer se radi na linuxu. Hvala puno,želimo još tutoriala!!

  3. Robert napisao:

    Svaka čast na priručniku, ideja je odlična nadam se da će biti mnogo primjera i da čemo nakon toga svi znati odlično Python. Još jednom čestitke i veliko hvala na uloženom trudu.

  4. igs napisao:

    hm, zanimljivo 🙂

  5. phantom1337 napisao:

    Jedna od boljih tema do sad ! Radujem se nastavcima

  6. Vl@do napisao:

    To te ja pitam.
    Prvo slobodno vrijeme, i krećem, korak po korak. Nigdje još nisam uspio pronaći ovako jednostavno opisane prve korake na hrvatskom jeziku. Hvala majstore i nastavi u istom tonu. 🙂

  7. Yorkin napisao:

    Ima nekoliko knjiga koje su ok pisane za Python, i pohađao sam kurseve na edx.org i coursera.org, ali fakat mi je pun kufer slušanja predavanja na engleskom. Konačno nešto po KISS principu, korak po korak i na hrvatskom… nek mozak malo odmori od prevođenja, a da prsti brže rade.

    Veselim se novom nastavku 😀

  8. darko napisao:

    Odličan pristup, sjajan početak učilice!

    Nestrpljivo čekamo nastavak 🙂

  9. Sho napisao:

    Neočekivano, ali za svaku pohvalu 🙂

  10. Cooleech napisao:

    Python je jako dobar i moćan jezik, ali me više privlači pascal. Nadam se jednoj seriji freepascal tutorijala. 🙂

    Super-lak početak, svaka čast, Nikola!

  11. mindless napisao:

    bravo bravo. dobro sročeno. iščekujemo nastavke

  12. Archer napisao:

    Svaka čast, ovo je odlično. Voleo bi da bude serija članaka kao u Full Circle magazinu.

  13. b4sh napisao:

    Svaka cast majstore 😉

    LP b4sh

  14. MisterNo napisao:

    Odlicno ! Bas sam ovih dana razmisljao kako da krenem sa ucenjem Python-a pa je ovo kao naruceno 🙂
    Hvala i jedva cekam nastavak

  15. Dario napisao:

    Tnx Nikola, lijepo, čitko i jednostavno za nas tutleke 😀 .. čekam/o nastavak 😉

  16. darkborn napisao:

    >>> print(“Pozdrav od LZS-a”)
    File “”, line 1
    print(“Pozdrav od LZS-a”)
    ^
    SyntaxError: invalid character in identifier

    • Nikola napisao:

      Pozdrav,
      javlja grešku radi navodnika.
      Naime, kod pisanja u geditu, geany-u i sl. programima su navodnici drugačiji od onih u procesorima teksta. Iz tog razloga ako se kopira sav kod, navodnici ne rade.
      Samo izbriši navodnike i napiši ih ponovo u onom alatu kojem radiš, bilo terminalu, geany-u ili sl. i radit će 😉

      • darkborn napisao:

        Eto preteko me Nikola. 🙂 Ma to je fora sa autocorrectom poput velikog “I” u engleskom (jer ne postoji rijčca sa malim i u istom).
        Kad staviš shift+2, neki editori automatski “postavljaju” (mijenjaju) lijevi i desni navodnik…
        Milsim da se to u postavkama može riješiti, a Python ne prašta te nepodopštine.

  17. darkborn napisao:

    SynatxError je u navodnicima:
    -> “ ” ” ” <-…

    “““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““
    ”””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    Rado Dejanovićeve uratke te linkove na iste prenosim, a da sve ostane u revijalnom tonu:
    http://www.monitor.hr/clanci/python-u-skole-1-5/152090/
    http://www.monitor.hr/clanci/python-u-skole-2-5/153145/
    http://www.monitor.hr/clanci/python-u-skole-3-5/153853/
    http://www.monitor.hr/clanci/python-u-skole-4-5/154752/
    http://www.monitor.hr/clanci/python-u-skole-5-5/156059/

  18. darkborn napisao:

    Ovo je već pomalo frustrirajuće – i u Gentyu i u terminalu:
    File “./xxx.py”, line 2
    SyntaxError: Non-ASCII character ‘\xe2’ in file ./xxx.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    • darkborn napisao:

      (edit Geanyu, ne Gentyu)

      • Nikola napisao:

        Ne razumijem u čemu je točno problem :/
        Za navodnike smo dodali napomenu u slučaju ako se kod kopira iz ovog članka, dok mi sad ove ostale greške koje pišete nisu jasne.
        Prije izlaska članka, kod je bio testiran na dvije različite distribucije za svaki slučaj, isto kao i svaki korak ovog članka. Tako da stvarno ne razumijem o čemu se radi.

        • darkborn napisao:

          Nešto character encoding, mislim da je end-of-line problem ali nisam siguran. Nažalost, nemam sad cajta testirati… Inače, vrtim Mint 15 Olivia Mate vulgaris.

          • Nikola napisao:

            Pretpostavljam da jedini problem mogu biti hrvatski znakovi, ako ste ih upotrebljavali, jer onda baca grešku. Te stvari sam namjeravao pokriti u sljedećim tutorialima, jer ipak, ovo je samo uvod u Python.

            • 4ndY napisao:

              Nije li Python od treće verzije skroz prebačen na unicode? U tom slučaju ne bi trebalo biti nikakvih problema s hrvatskim znakovima…

  19. wintermute napisao:

    komplimenti..
    jedna primedba samo, nadam se da me necete pogresno shvatiti i da ce biti prepoznata kao konstruktivna.. dakle.. kod instalacija npr. python3, navedena je apt-get install komanda kao “univerzalna” odnosno, pretpostavlja da je korisnik na debian bazi.. mislim da je to prilicno ozbiljan propust uzevsi u obzir da se radi o textu (ili, nadam se, seriji textova) koji cilja ne pocetnike..
    keep up the good work!!
    hvala..
    svako doBro..

    • Filip napisao:

      Točno,mogo je stavit za opensuse,fedoru,debian,arch,gentoo..

      • Nikola napisao:

        Slažem se, moj propust.
        Evo, probat ću naći univerzalni način za sve distribucije, preko source koda, kako ne bih stavljao za svaku distribuciju posebno.
        Samo da isprobam onda u virtualbox-u da li radi na više njih pa promijenim 😉

        • wintermute napisao:

          da, ok, moze i tako.. ali mozda dodatno komplikuje srvari..
          jeste da je namenjeno buducim programerima, ali da li na nultom stupnju prakticno, pored sve neophodne kompleksnosti, treba dodati i teret kompajliranja iz sourca da bi se dobili osnovni alati kao editor??
          tako da, dopusticu sebi da predlozim jos ovo (da zavrsim sta sam poceo) i, necu vise, obecavam, jer imam osecaj da sada vec sve ima vise efekat difuzije.. a dobro si poceo, samo nastavi kako si zamislio..
          dakle, imho, umesto da dodas kako da se gradi iz sourcea, sto i jeste tehnicki najuverzalnije mozda, ali za pocetnika “nepotrebna” stvar u prvim koracima, a i koliko mogu da predvidim, kada jednom (onaj koji uci) ima python3 i editor, ima manje- vise sve sto ce mu trebati (za ovaj kurs) tako da nije nesto sto ce se ponavljati stalno,, dodaj samo naznaku posle uputstva kakvo je, ovo vazi ukoliko koristite debian bazu, ukljucujuci ubuntoide kao mint, etc., ako ste pak na rpm distribuciji, yum za fedoru, zypper za suse, pacman za arch i derivate i slicno.. eventualno spomenes gui alate tipa synaptic ili apper i mislim da si u clearu.. 😉
          nu..
          kakogod, nije nikakav dealbraker i da ostavis kako jeste..
          josjednom.. godspeed..

          • Cooleech napisao:

            Ako misliš koristit python za programiranje, valjda znaš bar kako se što instalira na distri koju koristiš. S oproštenjem, nepotrebno zajefrkavate čovika. Nikola, sve 5, samo tako nastavi!

            • wintermute napisao:

              u principu se slazem sa tobom.. ako procitas komentar na koji si odgovorio, jasno ti je nadam se..
              ali.. ironicno.. mislim da je samo korektno dodati red texta koji stvari precizira..
              scenario:
              neko je juce instalirao opensuse i danas krene da uci python.. pre nego i pocne zakuca se u zid.. nepotrebno..
              sve sto “treba” je naznaciti, ili apt-get bla bla ako ste na debian baziranoj distribuciji, ako ne, izucite kako se na xy distri to radi..
              zajefrkavanje potencialnog “polaznika” je tako reseno a autor moze da nastavi da predaje znanje bez prepreke..
              i da, naravno, sve pet kako kazes, nevezano za sve ovo, zato i postujem tu sada..

  20. wintermute napisao:

    odlicna knjiga, dostupna besplatno u html na stranici..
    http://learnpythonthehardway.org

  21. meteorolog napisao:

    Imam jedno pitanje u vezi ovod dela koda :
    #!/usr/bin/env python
    Pošto radim u fortranu, mogu li ja umesto python da pišem gfortan pa da kucam kod u Geany, kao što je autor teksta radio?

    • 4ndY napisao:

      Prva meta linija ništa ne znači ni Pythonu ni Geanyju i nije nužna. Ona služi samo za pokretanje skripte bez definiranja interpretera (ako želimo pokrenuti skriptu s ./skripta.py ili dvoklikom iz GUI-a). Fortran nije interpretativni jezik i ne može se pokrenuti kao skripta pa ta linija u slučaju fortrana nije potrebna (i vjerojatno kompajliranje neće raditi jer u fortranu # nije oznaka za komentar), no moguće je koristiti bilo koji tekstualni editor (i Geany) da bi se pisao Fotranski kod, samo je uvijek naknadno potrebno kompajlirati da bi se mogao pokrenuti.

  22. tony napisao:

    -pristup vjezba.py odbijen,.he

  23. linuxzasve napisao:

    Podsjećamo vas da na forumu imamo temu Programiranje u kojoj također možete pročitati korisne informacije, te tražiti pomoć ako nešto zapne:
    http://www.linuxzasve.com/forum/viewforum.php?f=42

  24. drone napisao:

    Pozdravljam ideju. Članak je dobar. Geany je također dobar izbor za kucanje koda, pogotovo za početnike.

    Imam jednu primjedbu. Autor kaže: “Dok za ostale distribucije (npr. Arch, Fedora, Gentoo,OpenSUSE itd.) koristite sljedeće korake:”… pa navodi kompajliranje Pythona 3. To je nepotrebno jer distribucije imaju Python 3 u svojim repozitorijima. Primjerice, kod Archa je Python 3 glavni (i redovito se osvježava u repozitoriju), python je linkan na python3, a Python 2 se poziva s python2:

    $ python -V
    Python 3.3.2

    $ python2 -V
    Python 2.7.5

    Slažem se da bi svaki korisnik trebao znati gdje pronaći Python 3 za svoju distribuciju, ali koliko sam shvatio članak je za potpune početnike pa je dio o kompajliranju Pythona 3 suvišan (za sada).

  25. setac napisao:

    svaka cast na ovome!

  26. lol napisao:

    Kad ce sljedeci dio? 🙂

  27. pedja93 napisao:

    Sve pohvale autoru, super je uvod u python!

  28. Matea napisao:

    cool,hahahahhah♥♥♥☺☺☻♥♦♣◘

  29. božica napisao:

    što je to terminal molim pomoć

  30. Sanja napisao:

    ja sam ocito jedina kojoj je sve ovo ispalo krivo..Ne kuzim, meni sa ovim znakom: $ nista ne funkcionira….

  31. asdf napisao:

    $ je odzivni znak u linux shell komandnoj liniji (jedan od). To se ne upisuje. To je samo oznaka kojom računalo pokazuje da je spremno za unos nove komande. Poput C:> u Windows cmd komandnoj liniji.

Ostavi komentar

© 2017 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.