Kreiranje izvorne datoteke

5.3 Kreiranje izvorne datoteke 

Problem: Hajde sad da se vratimo na programiranje, molim te? Udavio si me sa ovim svim „analizama“.... Hoću da vidim malo „akcije“.
Odgovor: Ako si sasvim sprema, idemo... još malo da te davimo.
Običaj je da prilikom učenja nekog novog programskog jezika tvoj prvi program koji napišeš i pokreneš bude takozvani 'Pozdrav Svima!' (‘Hello World’) program – kada ga pokreneš njegova jedina funkcija je da prikaže 'Pozdrav Svima!'. Kako bi Simon Cozens (autor zadivljujuće knjige "Beginning Perl") rekao: "to je tradicionalna molitva programerskim bogovima da ti pomognu pri učenju programskih jezika".
Ali, ni pisanje prostih stvari nije lako, ako se ne poznaju osnovne stvari. No, hajde više da lansiramo tu raketu, pa da vidimo kako leti. 
Pokreni editor koji si odabrao za rad, i u kojem si se prethodno igrao, čisto da znaš gde je opcija za novi fajl, gde opcija za čuvanje, i tako dalje, pa....
Zastani za trenutak, da ne žurimo bezveze.
Pogledaj šta smo malo pre radili u interaktivnom promptu. Pa, zar nije sve to samo Python? Hajde da prepišemo sve to u fajl, tako da u editoru on izgleda ovako:
"Hello World!" 
'Pozdrav Svima' 
"Šta se radi?" 
'Kako si?'
Kada si iskucao ovaj fajl sačuvaj ga kao prvi_program.py (sačekaj tren, moram da te udavim malo, u vezi sa ovim). 
Problem: Gde bi trebalo da čuvam ove fajlove?
Odgovor: U bilo kom folderu, ako znaš njegovu lokaciju. Verovatno sam te sad zbunio, pa ako ne razumeš šta to znači, kreiraj neku novu fasciklu kojoj možeš jednostavno i brzo pristupiti, npr:
C:\\moji_programi
(ako koristite Windows).
Eh, sad... Velika je verovatnoća da ne razumeš tačno šta ovo znači, pa ću zato za trenutak opet da se udaljim od Pythona, i da ogovaram onog vrednicu koji se zove operativni sistem. Taj vrednica, da bi mogao išta da radi, videli smo, mora da koristi fajlove. Takođe „vrednica “ te fajlove ostavlja na hard disk, po određenom rasporedu, kako bi ih mogao brže naći. A, kao što mi sortiramo neke stvari (pankeri sa pankerima, rokeri sa rokerima, narodnjaci sa narodnjacima, političari sa svima itd...), tako i sistem „svrstava“ njegove fajlove, po rasporedu koji njemu godi, po mestima koje se zovu fascikle (folderi, direktorijumi), i, onda opet, po nekoj potrebi, te fascikle „strpa“ u neke druge i tako dalje.... Takav raspored fajlova i foldera na hard disku se naziva jednostavno – fajl sistem
No, obrnimo pogled! Sa stanovišta fajla, gde se nalazi? Gde se nalazi cvet u vazi, koja je u dnevnoj sobi stana na drugom spratu zgrade, u ulici Bulevar Istorijske Konjine broj 2, u gradu Mlatimo Turiste, 48 kilometara istočno severne ivice sveta?
E, da bi fajl znao, a i da bi sistem znao gde je šta postoji oznaka, koja to govori. 
Obrati pažnju! (molim te lepo! Pročitaj ovo ako možeš, hehehehehe)
C:\\moji_programi\prvi_program.py
je oznaka koja znači da se naš program nalazi u fascikli moji_programi, koja se nalazi na sistemskom delu hard diska (to je ovo prv slovo C). Obratite pažnju na oznaku \ koja predstavlja sistemski separator putanje ka fajlu! Vidiš da  odmah na početku oznake piše C:\\ - to u suštini Windowsu govori šta je početak (a, početak je, u ovom primeru C disk). Taj početak se naziva root (koren – početak, izvorište) file system-a. U operativnim sistemima baziranim na UNIX-u (Linux, OSX...) root je jednostavno oznaka /.
Lako, zar ne? I, verovatno si znao sve to... Ali morao sam da napomenem, jer... Ako poznaješ nekog „komšijskog dečka“ koji održava Windows računare (i/ili njihove vlasnike/vlasnice), a nije preterano iskusan, kad popričaš sa njim, često ćeš čuti jedan od najglupljih izgovora svih vremena: „Nisam mogao da im spasim podatke, Windows se skršio, a oni su sve čuvali na desktopu!!!“. Iako na prvi pogled deluje logično, ovo samo znači da je ON kriv – ne zna gde je folder desktopa, a održava računare???? A znaš li ti gde ti je tako mili i drag Desktop folder? Ne? Nije ni čudno, jer kod Windowsa: C:\\Users\All Users\Desktop, a i C:\\Users\Veselinka\Desktop.... ili možda da pogleda u C:\\Users\Default\Desktop ili na još par mesta, što zavisi i od broja korisnika koji koriste računar, jer, oooo da, sve su to folderi koje sistem „ispljune“ na monitor kada uključiš računar).
I sad, možda je ovaj primer sa Veselinkinim izgubljenim Desktopom izazvao smeh kod korisnika Linux-a, ili Mac OSX-a (eto kako je naš sistem superioran, lalalala... Mi makar znamo gde nam je Desktop, za svakog korisnika, hehe, svaki korisnik ima samo svoj Home, lako se nalazi, hahaha), a gorčinu kod korisnika Windowsa, no ne brini, imam i njima da sklonim taj osmeh sa lica, sa jednim korisnim primerčićem, koji ti može pomoći u budućnosti da izbegneš mnogo problema, naravno, ako budeš želeo da pišeš programe koji rade na više operativnih sistema...
Naime, nekada davno, živeo je prepametni, ali neiskusni umetnik, koji je svoje umotvorine ostavljao na sigurnom mestu, na koje bi, da je koristio Windows, dolazio vrlo brzo, i vrlo lako:
D:\\wc_sholja
Ali taj umetnik je koristio Linux, pa je onda morao da trči čak do:
/media/C261C1C165C19CB3/wc_sholja
što je često uzrokovalo da on svoj umetnički „tovar“ izgubi na pola puta....
Prva stvar koju ovde primećuješ je da je Windowsu root postala oznaka D (zato se kaže da je to višegrani fajl sistem, svaki uređaj ima svoju oznaku i svoj „početak“ tj root), dok je u Unixolikim sistemima uređaj jednostavno „prikačen“ na neko mesto unutar jedinstvenog sistema fajlova, tj, u njihovom slučaju fajl sistem je samo jedna „grana“!
Druga stvar je oznaka separatora – kosa crta i obrnuta kosa crta!
I mislim, da sam sada preterao. Iznad postoji sasvim dovoljno informacija i naznaka, koje treba da ti kažu sledeće:
  • Ako koristiš Windows nemoj da svoje programe čuvaš na desktopu, već napravi folder što bliže početku (root-u) fajl sistema, kako bi mu brzo mogao pristupiti (no, ukoliko korisnički nalognije administrator, verovatno ti je najbrže mesto u tvom početnom folderu, pogledaj u Users gde je to....). Smatram da si napravio folder ovako, a ako nisi, prilagodi prema sebi. C:\\moji_programi
  • Ako koristiš Unixoliki sistem, najpametnije je, što verovatno već i sam znaš, u tvom Home folderu. Nadalje smatram da si napravio foldere na ovom mestu: ~/moji_programi na Linux-u
    ~/moji_programi na Mac OS X-u 
Takođe, primeti da umesto razmaka koristim donju crticu, možda ti bude interesantno, ali zapamti – na taj način možeš sebi olakšati život zaista mnogo! Iako moderni operativni sistemi lako barataju sa imenima koja sadrže razmake, dobro je imati naviku da to – izbegneš! Videćeš kako će tebi imena sa razmakom praviti probleme, zato, nemoj ni da mučiš svog vernog slugu – operativni sistem.
Ako ne znaš kako se kreira folder, najlakše i najbrže je koristiti mkdir komandu u terminalu, na (moj) primer na linuxu:
mkdir /moji_programi
Sada, kada imate folder koji možeš lako da nađeš, možeš da sačuvaš gornji program.

Važno !

Uvek proveri da li si fajlu dao  .py ekstenziju , na primer, ime mora biti foo.py. To je bitno za korisnike Windows sistema, ali i ostali bi trebalo da se drže tog standarda. Ta ekstenzija (.py) govori sistemu šta treba da radi sa tim fajlom! U našem slučaju znači – „Hej sistemu, ne pipaj me, ja sam Python fajl, zvaću mog tatu koji se zove Python Virtuelna Mašina, pa ćeš da vidiš!“, no na žalost, sistem ga uhvati za uši i odvede kod tate, koji ga onda „pregazi“ uzduž i popreko, zato što je nevaspitan....
Pitanje: Hoćeš li, molim te, da se vratiš na temu? Evo sačuvao sam fajl (posle pola sata nepotrebnih informacija). Šta dalje?
Odgovor: Pa ako razmisliš, nisu nepotrebne informacije. Ali evo, drži se polećemoooo....
Vreme je da pokrenemo program, ja ću koristiti terminal:
  1. Otvorim terminal kao što sam objašnjavao u delu koji se bavi instalacijom. 
  2. Promenim lokaciju (direktorijum) u novokreirani direktorijum: cd ~/moji_programi 
  3. Pokrećem program tako što unesem komandu: python3 prvi_program.py
Iiiii.....
Šta, dođavola?!?
Problem: Sada ću, majke mi, da te bijem.... Zamajavaš me ovde i trošiš mi vreme koje sam mogao korisno da potrošim na fejzbuku... Šta je ovo? Veliko – NIŠTA! Imaš jako malo vremena da objasniš.... A ako ne uspeš.... Pomoli se!
Odgovor: Pa.... Ovaj.... Hmmmmm.... Ne, ne taj prst da mi lomiš, on mi treba da čačkam nos.... Stani, stani.... Upravo sam te naučio jednu prilično važnu lekciju, a da nisi ni primetiooooo, joj!
Koju to?
Evo... Ja ću da „razmotam“ događaje, pa ćemo zajedno da dođemo do zaključka, važi?
Samo nemoj da „razmotavaš“ 50 sledećih strana!
Može 25? Dobro, dobro, već ti rekoh za šta mi treba taj prst, nemoj da ga lomiš, molim te....
Obrati pažnju, kada smo koristili interaktivni prompt, Python nam je davao rezultat odmah nakon što smo pritisnuli taster Enter. Ali, kada smo isto to napisali i sačuvali u fajlu – nije se desilo ništa, tj. Python je blinkuo i vratili smo se u komandnu liniju operativnog sistema.
Šta nam to govori?
Pa prvo, Python ne „gleda“ na isti način njegov interaktivni prompt, i source fajl. Kada koristimo interaktivni prompt, Python čeka da mi kucamo nešto, i da nam na to nešto – odgovori. A šta kaže? Pa kaže nam kako on vidi i tumači to što smo uneli, drugim rečima – šta to njemu znači! Sa druge strane, na izvorni fajl gleda kao na listu zadataka – kada mu je prosledimo, on zna da mi ne želimo da, što se kaže kod nas, divanimo (pričamo, četujemo) sa njim, već da od njega očekujemo da nam obavi neki posao. Znači, sa tvoje strane, na Pythonov interaktivni prompt gledaj kao na internet chat sa prijateljem! Fajl koji smo mu prosledili, shvataj kao opis posla i zadataka koji mu prosleđuješ.
Svaki vredan radnik sluša svog „gazdu“, tako i Python, uzme listu zadataka, i kreće da je čita, od početka prema kraju, i u zavisnosti šta tamo piše – to i uradi.
Ali čekaj.... Pa napisao sam mu da mi „priča“ razne stvari. U promptu je savršeno pričao... Da se nije naljutio?
Hehe, nije se jadničak naljutio, čak, šta više, uradio je upravo ono što si mu i „rekao“ da uradi.... A ti mu (sa mojom asistencijom) nigde nisi rekao da treba da „priča“ to jest prikaže zadate rečenice!
Inače, greške ovakvog tipa (ili bagovi – bug, buba, greška u programu) su najgore koje mogu strefiti nekog programera! Inače se nazivaju semantičke (semantic, značenje te reči je – smisao) – naš program radi, ali ne radi ono što smo mi želeli, već ono što smo mu zadali....
Problem: Ali, u interaktivnom promptu ih je prikazivao!!!! Šta sam drugo trebao da napišem? I šta je on to uradio (ne vidim ništa, da mi nije, ne dao ti bog, pokvario kompjuter)?
Odgovor: Sad dolazimo do ključnog zaključka koji će da ti bude „zvezda vodilja“ u tvom nastavku izučavanja tamne materije programiranja u Pythonu:
Python sve posmatra kao objekat. Čitav njegov svet, (kao uostalom i tvoj i moj) je izgrađen od objekata. Pogledaj oko sebe, imaš sto – objekat, na njemu je monitor – opet: objekat, ispod se nalazi računar – objekat, Ja – za tebe sam samo objekat predstavljen u vidu ovog tutorijala, ti – pa i ti si jedan objekat u nekom prostoru! Ajde sada kaži nešto... Ne stidi se... Jel si rekao? Šta misliš, jel i tvoj glas, sve sa tim rečima koje si rekao, objekat? Ne? Što, ne možeš da ga uhvatiš? Jesi li siguran? A šta ako ga snimiš, na primer, da ti bude telefonska sekretarica? Ili na magnetofonsku traku? Pa možeš da ga puštaš koliko želiš puta, da ga premotaš, ili čak da ga puštaš unazad... Eh, jesi li još uvek siguran da glas nije objekat? Hmmm.... Za putnika kroz vreme (hm, da li je vreme objekat?) koji putuje iz budućnosti u prošlost, baš kroz tvoju sobu, da li je tvoj glas objekat, ili samo smešna osobina tebe kao objekta?
Hah... Ne lupaj glavu.... Za sad ti je dovoljno da znaš da je za Python sve objekat, ovo ostalo je samo zanimljiv pravac u razmišljanju sa kojim se možeš susresti ukoliko odlučiš da ti programiranje bude profesija...
I sad pogledaj fajl... (i dopiši mu još koju liniju, nije „greda“, ali ne zaboravi da ga sačuvaš opet):
"Hello World!" 
'Pozdrav Svima' 
"Šta se radi?" 
'Kako si?' 
"Što si me, malo pre, zeznuo?" 
"A znaš da imam tako nežno srce..." 
"Obećaj da ćeš me slušati ubuduće!"
Kako tebi ovo izgleda? Jel izgleda kao neka knjiga, u kojoj je pisac navodio nečije reči, ali, zaboravio je da napiše ko je šta rekao, kome i čemu to služi? I šta ćeš ti uraditi, pročitaćeš i -pošto ti ništa nije jasno, nastavićeš svoj život, bez da se ikada podsetiš šta si čitao – jer si je razumeo, ali joj nisi video svrhu!
Isto tako, Python je „pročitao“ knjigu. U interaktivnom promptu nam je pokazao da je razume, krenuo je od prve linije, video je navodnike i shvatio da su to neke reči, rečenice, skup znakova, za njega neki objekti, a zatim je došao do kraja, video da njemu tu ništa ne govori da nešto treba da uradi sa tim objektima, zatim je zevnuo, zalupio vrata i otišao da spava.
Na prethodni pasus dobro obrati pažnju! Šta sam rekao? Kada smo mi stavili neku, nama razumljivu rečenicu pod navodnike, Python je razumeo da je to neki tekst, tj automatski je shvatio da je to objekat koji treba tebi! Na to ćemo se vratiti kasnije, poenta je da – kada si mu to isto napisao u interaktivnom promptu, on ga je ponovio samo da bi tebi dao do znanja da ti nisi pogrešio nigde!
Pa to je fantastičan zaključak! To znači da, ukoliko imaš neku nedoumicu, samo pokreneš prompt, kuckaš malo tamo, ako se Python ne buni – odlično! Što se kaže test na eks! Sada znaš sistem rada – program radiš u tekst editoru, sa strane ti je UVEK otvoren prompt, u kojem brzo možeš sam sebe da testiraš (obično je to test, da li ti i Python „govorite“ isti jezik :) ).
Pa dobro, ali u „promptu“ je ovo radilo!?! A sada ne radi! Šta JA sad da radim?
Ništa, čekaj malo... Ne budi nestrpljiv. Osvrni se oko sebe. Kada treba da fotokopiraš nešto, odeš do fotokopir aparata, staviš papir, i klikneš dugme. Fotokopir ti zatim „daje“ kopiju onoga što piše na papiru. Znači da on ima funkciju da ti da nešto što ti treba. Netačno, ali istinito – ti si rekao „Fotokopiru, daj mi kopiju!“ i on ti je dao!
Da li Python ima neku funkciju, da mu, slično kao fotokopiru, kažeš: „Pythonu, prikaži mi ovo!?
Pa ima! Ta funkcija je:
print()
Ako ti nije otvoren interaktivni prompt, otvori i ukucaj...
python3 
Python 3.2.3 (default, Apr 10 2013, 05:29:11) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print() 

>>> 
Au... A da te ipak ja malo istučem? Opet me zamajavaš? Pa NIŠTA se nije desilo!
Zapravo – opet nisi u pravu. Pogledaj! Python ti je prikazao jednu praznu liniju! Uporedi ono šta si ukucao (print()) sa onim šta sam ti malo pre rekao! Ako je print funkcija prikaza, a ti joj nisi ništa dao da prikaže, ona ti je i prikazala – ništa! Pogledaj, gde bi smo mogli da učačkamo ono što želimo da bude prikazano? Ako je tvoj odgovor onaj koji je jedini logičan – između zagrada, onda bravo!
Znači, ajde da probamo:
>>> print(pozdrav svima) 
  File "", line 1 
    print(pozdrav svima) 
                      ^ 
SyntaxError: invalid syntax 
>>> 
Grrrrrrr......... Ide mi para na uši!!!!!!!!!!
Smiri se... Rekoh da je programiranje teška rabota, vidiš da si zaboravio – navodnike? Ajd Jovo nanovo:
>>> print("Hello World!") 
Hello World! 
>>> 
Oho! Vidi, vidi....
Ma šta da vidim? Opet se vrtim u krug! Prikazao mi je isto što i bez ovoga print-a!!!!
Jesi siguran?
Pogledaj opet, ovaj rezultat, i uporedi ga sa ovim:
>>> "Hello World!" 
'Hello World!' 
>>> 
Sa print-om smo postigli upravo ono što smo od početka želeli! Čist tekst, bez navodnika, tačno ono što hoćemo!
Samo još jedna napomena koja umalo da mi promakne, a koja je gotovo najvažnija u nekoj praktičnoj primeni, pokušaj ovo:
>>> Print("Smorih se") 
Traceback (most recent call last): 
  File "", line 1, in  
NameError: name 'Print' is not defined 
>>> 
Hehehe... Python je i inteligentan! Print i print su za njega – dve različite stvari! I pošto su to dve različite stvari (print() je fotokopir objekat, ali šta ti je, pobogu Print()?) obrati pažnju kako kucaš, ako je nešto malim slovima, onda je to tako. Poštuj pravila jezika kojim pišeš, naravno, kada pred tobom stoji strogi lektor kao što je Python, koji ti neće „progledati kroz prste“!
I, šta sada da radim?
Pa jednostavno, izmeni fajl! Jednostavno „ubaci“ svoje rečenice u funkciju print, i... polećemooooo (konačno!)....
print("Hello World!") 
print('Pozdrav Svima') 
print("Šta se radi?") 
print('Kako si?') 
print("Što si me, malo pre, zeznuo?") 
print("A znaš da imam tako nežno srce...") 
print("Obećaj da ćeš me slušati ubuduće!")
I, pokrećanje (iz terminala, izmeni prema svojim prethodnim podešavanjima):
cd ~/moji_programi 
python3 prvi_program.py
Jupi, evo ga izlaz!
Hello World! 
Pozdrav Svima 
Šta se radi? 
Kako si? 
Što si me, malo pre, zeznuo? 
A znaš da imam tako nežno srce... 
Obećaj da ćeš me slušati ubuduće! 
Python je prikazao sve šta smo mu zadali i zatim nas vratio u komandno okruženje operativnog sistema! 
Ako si uspeo da dobiješ ovo, čestitam!
Uspešno si pokrenuo svoj prvi program. Upravo si prošao najteži deo puta kroz učenja programiranja! 
U slučaju da ti se pojavila neka greška, prvo proveri da li tvoj fajl, tj program, izgleda tačno onako kako je pokazano iznad i ponovo pokreni program. Obrati pažnju da nisi mešao mala slova sa velikim (video si da to nije isto). Takođe, ako to ne pomogne, pročitaj još jednom ovo poglavlje, jer – možda nisi sačuvao program u folderu koji si predvideo za tvoj rad, ili ne možeš da nađeš gde si napravio folder (ili ga čak, nisi ni napravio?!?). Ja nisam Vidovita Ćorka, da mogu da predvidim sve situacije, koje nepažnjom mogu nastati, ali mogu da ti dam savet – pročitaj ponovo, ako ti nešto nije jasno, potrudio sam se da objasnim, i tako dalje....
No, ima jedna super greška koju Windows korisnici čine, a posle im „hladan znoj poteče sa čela“, i ona je divan šlagvort za još jednu lekciju koju želim da dam na ovom mstu!
Koja je to greška? Ne znam, ovde nisam napisao, zapravo, niti u jednom tutorijalu na koji naletite za ovaj program nije dao savet, da – jednostavno preko GUI-a odete u Folder koji ste nepravili, a zatim dvoklik na novostvoreni program, pa ipak, gomila ljudi to uradi, valjda da „ne muče“ sebe preko kucanja komandi u terminalu (samo, ne znam, kako oni sebe zamišljaju kao programere, ako ne žele da kucaju komande?). Obično se uplaše, i razočaraju (trebali bi da imaju uključene kamere, pa da slike tog trenutka podele sa svetom, hej, pa ljudima zaista fali malo osmeha, a te slike bi bile izuzetne za smeh do suza). 
Pošto to nije ništa strašno, ajde, ako ste korisnik Windowsa – uradi to. Jesi li?
Sigurno se pitaš šta se TO desilo?
Pa da objasnim, kako tebi, tako i korisnicima nekih drugih operativnih sistema, koji baš i „neklikću“ toliko: U trenutku dvoklika – Python je pokrenuo program i izvršio ga. No, korisnik može samo da (ponekad ne može ni toliko) primeti crno prozorče kako se pojavljuje i nestaje u jednom trenu!
Jednostavno – Python ti je pokazao svoju brzinu.... Prikazao ti je sve šta si ti hteo da vidiš, sad, tvoj je problem što to nisi video. Probaj opet. Ne vredi? Ajd opet.... Opet nisi uspeo.... Ajd opet, pokušaj brže da gledaš.... 
Grrrrrrr, samo da znaš, još se nisam smirio, a ti si nastavio da me čačkaš!
Dobro, nisam ja kriv što imamo „spore“ oči! Python je odradio svoj posao, svojom brzinom, briga njega i za tebe i za mene, što smo spori i lenji...
Šalim se, kao i uvek. Ti sigurno ne želiš da ti programi brzinski proleću ispred nosa, pogotovo kada treba da pročitaš šta to piše!
Šta misliš, kako da „zeznemo“ Python, da ne radi tako brzo? Hmmm, imam ja jednu zločastu ideju – ajd da opteretimo procesor maksimalno, te će operativni sistem da bude na izdisaju, pa će imati manje vremena da posveti Pythonu, te će SVE da radi sporije, dok nešto ne pregori u računaru? Uh... Misliš da je to loša ideja? Pa kad malo razmislim, i jeste.... Hajde da razmišljamo dalje.
Šta programeri obično urade da bi program stajao dovoljno dugo na ekranu.... Čekaj, jel sam ja rekao dovoljno dugo? Pa meni je jednom neki program ostao nedelju dana otvoren, nisam obratio pažnju da treba da kliknem na OK... Hej, pa to je! Nećemo usporiti program, treba da samo ubacimo u njega nešto što bi „čekalo“ da neko pritisne ili klikne na nešto!
Ali šta? Šta je to što u Pythonu „komunicira“ sa spoljnim svetom, i sasvim je suprotno od print() funkcije? Da li ima neka funkcija za „ubacivanje“ (kao elevator za kukuruz kada se puni čardak)?
Uh... Ima! Ta funkcija je:
input()
Kao i obično, hajde da je probamo u interaktivnom promptu, možda i ne radi, ko zna....
>>> input() 

'' 
>>> 
Uh... Čekaj... Prvo je radila baš kako sam zamislio – kursor je samo blinkao i čekao da pritisnem taster enter, ali šta je sad ovo? Što je postavio znak navoda pre nego što je „vratio“ prompt?
Seti se funkcije interaktivnog prompta – Python ti, bez ustezanja i bez stida, govori šta se dešava. Čekao je ulaz, nije ga dobio i – čekaj malo... Ovo nisu navodnici, ovo su dva apostrofa, između kojih nema ništa! A pazi sad ovo, pa ti ništa nisi ni ukucao, već si samo stisnuo enter.
Probaj opet, ali sada otkucaj nešto!
>>> input() 
Šta da ovde ukucam? 
'Šta da ovde ukucam?' 
>>> 
Jel sad jasnije... Funkcija input() je „pokupila“ ono što si ukucao, a pošto si u interaktivnom modu – odmah ti je to i vratila!
No, čekaj... Interaktivno se razlikuje od fajla?!? Jupi, to znači da mi u programu neće vraćati ništa! No, ajd da sačekamo još tren.... Ajde, ja, kao neki „Zloćko“ da ti probudim radoznalost. Pst. Šta misliš, čemu služe one zagrade, ha? Ajd u njih da stavimo nešto? Pa, ajd...
>>> input("Kako je ovo suuuuuuupeeeeerrrrr.....>>>>o<<<<>") 
Kako je ovo suuuuuuupeeeeerrrrr.....>>>>o<<<<> 
'' 
>>> input("<> ") 
<> Ha, zanimljivo! 
'Ha, zanimljivo!' 
>>> 
Vau, znači ako stavim neku moju poruku između zagrada, ona će biti prikazana kao sa printom.... Idem odmah da promenim onaj fajl....
Da! To se traži... To je entuzijazam! Ma, čekaj malo?!? Šta je ovo?
input("Hello World!") 
input('Pozdrav Svima') 
input("Šta se radi?") 
input('Kako si?') 
input("Što si me, malo pre, zeznuo?") 
input("A znaš da imam tako nežno srce...") 
input("Obećaj da ćeš me slušati ubuduće!")
Pa radi....
Kako radi? Prikaže jednu liniju, ja kliknem na enter, pa drugu, pa opet moram da kliknem/stisnem, zar ne misliš da bi – brzo dosadio ovakav program? Nisi me valjda bukvalno shvatio da zamenjuje print? Ajoj, da zamenjuje, ali samo ako se koristi u razumnim granicama. Kako bi ovaj program izgledao i funkcionisao lepo? Pa ako bi imao samo jedan input na kraju. Evo pogledaj:
print("Hello World!") 
print('Pozdrav Svima') 
print("Šta se radi?") 
print('Kako si?') 
print("Što si me, malo pre, zeznuo?") 
print("A znaš da imam tako nežno srce...") 
print("Obećaj da ćeš me slušati ubuduće!") 
input('''Hvala što ste koristili Vaše slobodno vreme. 
Pritisni Enter za izlaz.''')
Što momentalno daje izlaz, a zatim i čeka da korisnik pritisne Enter i zatim se zauvek gubi sa našeg malog ekrana (što je mnogo lepša solucija):
python3 prvi_program.py 
Hello World! 
Pozdrav Svima 
Šta se radi? 
Kako si? 
Što si me, malo pre, zeznuo? 
A znaš da imam tako nežno srce... 
Obećaj da ćeš me slušati ubuduće! 
Hvala što ste koristili Vaše slobodno vreme. 
Pritisni Enter za izlaz. 
Čekaj ja u ovom programu vidim NEŠTO čudno.... Tri apostrofa? Dva reda! Magijaaaaa.
E, to ćeš naučiti nešto malo kasnije... Pre toga, postoje još neki problemi koje moramo da razjasnimo!

5.2 Izbor editora
teksta
Indeks 5.3.1 Izvršavanje Python
programa

Коментари

Popularno

Tehnički problemi (i ostala tehnička čudesa) u najavi (i u bliskoj istoriji)

Izvršavanje Python programa

Izbor uređivača teksta (Editora)

Vredela si svakoga stiha

Prevelika očekivanja

Strip o Brus Liju?

Matematički izrazi (ekspresije) u naše programu

Parametri i argumenti funkcija