Promenljive - ★★ Fog Developer ★★

Novo

6/recent/ticker-posts

Promenljive

6.2 Promenljive 

Korišćenje samo print(nešto) ili input(nešto) ti je već verovatno postalo dosadno i naporno, pogotovo što u toku programa moramo iste stvari kucati više puta... Hmmmm...
Problem: Da li postoji neki način koji bi nam obezbedio čuvanja nekih informacija tokom izvršavanja programa (moramo sačuvati svoje prste, zar ne?) i da li bi bila moguća manipulacija sa istim tim informacijama?
Odgovor: Ouh, yea! Ovo je mesto gde promenljive (ili, drugim rečima: varijable) dolaze u centar naše pažnje! Promenljive nisu ništa drugo no delovi memorije računara gde Python skladišti neke informacije u toku izvršavanja programa.
Hajde da probamo ideju, otvori interaktivni prompt i probaj ovo:
>>> p = 'Pera' 
>>> print(p) 
Pera 
>>> poruka = 'Pozdrav, drugovi i drugarice! Govori Vam Vaš veliki vođa, Danas možda pasete travu, ali zato, pored mene, sutra ćete jesti tortu!' 
>>> print(poruka) 
Pozdrav, drugovi i drugarice! Govori Vam Vaš veliki vođa, Danas možda pasete travu, ali zato, pored mene, sutra ćete jesti tortu! 
>>> print(poruka) 
Pozdrav, drugovi i drugarice! Govori Vam Vaš veliki vođa, Danas možda pasete travu, ali zato, pored mene, sutra ćete jesti tortu! 
>>> pitanje = 'Kako se zoveš?' 
>>> input(pitanje) 
Kako se zoveš?Pera 
'Pera' 
>>> input(poruka) 
Pozdrav, drugovi i drugarice! Govori Vam Vaš veliki vođa, Danas možda pasete travu, ali zato, pored mene, sutra ćete jesti tortu! Huh? 
' Huh?' 
>>> input(p) 
Pera Ma koji bre Pera? 
' Ma koji bre Pera?' 
>>> h = input(pitanje) 
Kako se zoveš?Jova 
>>> print(h) 
Jova 
>>> print(g) 
Traceback (most recent call last): 
  File "", line 1, in  
NameError: name 'g' is not defined 
>>> print('g') 
g 
>>> 
Vidimo da smo neke dugačke poruke, ili bilo kakav podatak, koji nam treba u nekom kasnijem trenutku rada, sa znakom jednakosti (=) dodelili nekom imenu, i to na taj način što smo napisali nešto tipa:
ime_promenljive = 'poruka'
Ali.... Kasnije ćeš videti da ovo 'poruka' može biti bilo šta (ako se sećaš šta sam pričao, kako Python SVE „vidi“ kao objekte, tačnije bi bilo da sam umesto bilo šta rekao: bilo kakav objekat, ali otom potom, treba imati strpljenja, nešto kao čekanje ispred toaleta na koncertu neke super-popularne grupe – cupkaš, i svi misle da uživaš u muzici).
Posle toga, mi smo na bilo kom mestu u našem radu jednostavno „pozvali“ promenljivu – po njenom imenu („Hej! Promenljivoooooo! Dolaz' 'vamo da te ubacimu u print!“, pa opet - „Hej, promenljivoooo!, dođi opet, trebaš mi da te gurnem u input“ itd.).
Na kraju sam izazvao i grešku, sličnu onoj koju si video kada sam te terao da napišeš svoj prvi program:
>>> print(g) 
Traceback (most recent call last): 
  File "", line 1, in  
NameError: name 'g' is not defined 
Opis greške nam kaže da je to greška u imenu, tj. da ime 'g' nije definisano. I, pogledaj, stvarno! Nigde pre toga se (sa leve strane znaka jednakosti) ime 'g' nije pojavilo!
A vidimo da print('g') radi.... Šta to znači? Pa znači da ime promenljive nije isto što je ono šta ona predstavlja! Ime promenljive je samo „putokaz“ Pythonu ka mestu u memoriji gde je sačuvao nešto! A to što je „u“ memoriji je – podatak. Sačekaj malo, biće ti jasnije malo kasnije. Ono što treba da zapamtiš je da znak jednakosti stvara putokaz (i vezu) između imena sa leve strane i nekog objekta sa njegove desne.
 Ali, zašto se zovu – promenljive, a ne npr memornije?
Promenljive su upravo ono što im i ime sugeriše – promenljive! Njihova vrednost može da se menja, odnosno, možete sačuvati bilo šta koristeći isto ime promenljive.
Aj da vidimo to u interaktivnom promptu:
>>> janja = 'Lane moje!' 
>>> pojilo = 'Devojka iz grada.' 
>>> print(janja) 
Lane moje! 
>>> print(pojilo) 
Devojka iz grada. 
>>> pojilo = 'Čamac na Tisi.' 
>>> print(pojilo) 
Čamac na Tisi. 
>>> janja = 'Mlada Vojvođanka.' 
>>> print(janja) 
Mlada Vojvođanka. 
>>> 
Vidimo da smo promenili vrednost koju predstavlja naša promenljiva, i to na ovaj način:
ime_promenljive = nova_vrednost
Posle te promene, kada god zovemo promenljivu, ona nam donosi – novu vrednost (ako je ime promenljive – ime poslanika neke stranke, ako „pređe“ u drugu stranku, kada ga zovemo, znamo da više neće pričati kao pre). 

Pažljivo!

Ako je promenljiva promenila vrednost, ona „stara“ je zauvek izgubljena (izbrisana iz memorije)! Mi u prethodnom primeru više ne možemo da dobijemo vrednost „Devojka iz grada.“ ili „Lane moje!“!
Nije valjda da je to tako opasno, šta ako je u promenljivoj bio sačuvan neki važan podatak?
Nije....
Čekaj da dođemo do toga, kroz neke praktične primere, pre toga imamo da objasnimo nešto što ti je možda i promaklo.
6.1 Kako pisati
Python programe
Indeks 6.3 Davanje imena
promenljivima

Постави коментар

0 Коментари