Serijal tekstova: zajedno naučimo Python (dio 1. uvod u Python)
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.
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 :)”)
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
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.
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
Izuzetno jednostavno i zanimljivo! Čestitke autoru, veselim se nastavcima! 😉
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!!
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.
hm, zanimljivo 🙂
Jedna od boljih tema do sad ! Radujem se nastavcima
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. 🙂
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 😀
Odličan pristup, sjajan početak učilice!
Nestrpljivo čekamo nastavak 🙂
Neočekivano, ali za svaku pohvalu 🙂
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!
Ti se šališ? Nadam se da se šališ.
Treba ti Lazarus, a evo kreni s ovim… http://www.youtube.com/watch?v=0VPvQ_dXMhw
Od Lazarusa radije bi uzeo Javu, s obzirom da imas bytecoding, a Python ne znam da li mozes kompajlirati closed ako zelis prodavati za komercijalnu svrhu,
za ostale male aplikacije dovoljan je cak i python + glade3.
Mislim da je autorova ideja ipak “Sam svoj majstor” 🙂
Imam Lazarusa, učim malo po malo. 😉 Hvala na video linku! 🙂
Ne. Zašto? Što fali Pascalu?
“… Uz dužno poštovanje varijacijama BASIC-a i Pascalu koji se i danas koriste, činjenica je kako ova dva jezika zaista više nisu ozbiljni programski jezici…”
http://www.monitor.hr/clanci/python-u-skole-1-5/152090/
Nisi ozbiljni? Znači neozbiljni su? Svašta….
Pascal mi “napetiji” zbog onog: write once, compile everywhere, te lakoće pisanja koda. Kod pisan u Pythonu je isto tako lak, ali mi nekako više legao Pascal. Da nije zastario – je.
bravo bravo. dobro sročeno. iščekujemo nastavke
Svaka čast, ovo je odlično. Voleo bi da bude serija članaka kao u Full Circle magazinu.
Svaka cast majstore 😉
LP b4sh
Odlicno ! Bas sam ovih dana razmisljao kako da krenem sa ucenjem Python-a pa je ovo kao naruceno 🙂
Hvala i jedva cekam nastavak
Tnx Nikola, lijepo, čitko i jednostavno za nas tutleke 😀 .. čekam/o nastavak 😉
>>> print(“Pozdrav od LZS-a”)
File “”, line 1
print(“Pozdrav od LZS-a”)
^
SyntaxError: invalid character in identifier
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 😉
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.
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/
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
(edit Geanyu, ne Gentyu)
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.
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.
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.
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…
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..
Točno,mogo je stavit za opensuse,fedoru,debian,arch,gentoo..
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 😉
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..
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!
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..
odlicna knjiga, dostupna besplatno u html na stranici..
http://learnpythonthehardway.org
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?
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.
-pristup vjezba.py odbijen,.he
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
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).
svaka cast na ovome!
Kad ce sljedeci dio? 🙂
Danas bi trebao biti. 😉
Super 🙂
Sve pohvale autoru, super je uvod u python!
cool,hahahahhah♥♥♥☺☺☻♥♦♣◘
što je to terminal molim pomoć
http://www.linuxzasve.com/naucite-raditi-u-naredbenom-retku
http://www.linuxzasve.com/preuzimanje/Linux_terminal_-_upoznajte_BASH.pdf
http://www.ubuntu-hr.org/wiki/%C4%8Cesto_postavljena_pitanja
http://wiki.open.hr/wiki/O_terminalu_i_Linux_naredbama
http://wiki.open.hr/wiki/Naredbena_linija_u_Linuxu
ja sam ocito jedina kojoj je sve ovo ispalo krivo..Ne kuzim, meni sa ovim znakom: $ nista ne funkcionira….
$ 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.