0% found this document useful (0 votes)
140 views4 pages

Python Ucenje

The document discusses various Python programming concepts like conditionals (if/else), loops (while, for), tuples, lists, and dictionaries. It provides examples of how to use these concepts in Python code. Various list and tuple methods like append(), pop(), count() are also explained. The key differences between tuples, lists, and dictionaries in Python are highlighted. Overall, the document serves as an introduction to basic Python programming constructs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views4 pages

Python Ucenje

The document discusses various Python programming concepts like conditionals (if/else), loops (while, for), tuples, lists, and dictionaries. It provides examples of how to use these concepts in Python code. Various list and tuple methods like append(), pop(), count() are also explained. The key differences between tuples, lists, and dictionaries in Python are highlighted. Overall, the document serves as an introduction to basic Python programming constructs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

Za novu godinu sam od kolege dobio najbolji moguci poklon za programera � knjigu o

programiranju. Konkretno � Python � uvod u programiranje. Ovo je veliki vetar u


leda za moje ucenje. Zbog mnogobrojnih obaveza i interesovanja nisam u stanju da
posvetim ba� puno vremena svemu ali za Python se uvek mora naci vremena. Uskoro ce
doci vreme kada cu i ja programirati na jeziku u kome se, ka�u, kodira brzinom
razmi�ljanja. Danas cu nastaviti da vas upoznajem sa osnovnim komandama u Python-u.
Kroz primere cu vas nauciti da koristite grananje, petlje, n-torke, liste i recnike
i uputiti vas u osnovne komande nad stringovima.

Grananje
Grananje zapocinjemo komandom if koju prati uslov i blok koda koji se izvr�ava u
slucaju ispunjenja uslova. U praksi bi to izgledalo ovako:
if promenljiva > 10 :
print('Promenljiva je veca od 10')
Kada hocemo da obradimo i slucaj kada je promenljiva manja ili jednaka od
postavljenog uslova koristicemo komandu else. Tada bismo napisali:
if promenljiva > 10 :
print('Promenljiva je veca od 10')
else :
print('Promenljiva je manja ili jednaka 10')
Ukoliko �elimo da neki iskaz ili promenljivu proveravamo po vi�e uslova tada mo�emo
da koristimo komandu elif :
if promenljiva > 10 :
print('Promenljiva je veca od 10')
elif promenljiva > 5 :
print('Promenljiva je veca od 5 a manja ili jednaka 10')
else :
print('Promenljiva je manja od ili jednaka 5')
Zanimljivi i jednostavno je kombinovanje komande if i in kako bi odredili da li je
jedan string substring drugog stringa. Skripta bi izgledala ovako:
poruka = "Ja ucim Python"
trazeni_tekst = "Python"
if trazeni_tekst in poruka:
print('Jeste')
else :
print('Nije')
Python je u pretragama ostetljiv na mala i velika slova pa je neophodno prilikom
pretraga neophodno dodati deo koji ce pretvoriti sva slova u oba pojma u mala:
poruka = "Ja ucim Python"
trazeni_tekst = "python"
if trazeni_tekst.lower() in poruka.lower():
print('Jeste')
else :
print('Nije')
Petlje
U Pythonu su dostupne while i for petlje.
While petlja ima sledecu sintaksu:
promenljiva = 0
while promenljiva < 10 :
print(promenljiva)
promenljiva += 1
For petlja se mo�e koristiti u razlicite svrhe. Ukoliko imamo znakovnu promenljivu
uz pomoc ove petlje mo�emo prikazati pojedincne znakove unutar datog znaka:
promenljiva = 'python'
for slovo in promenljiva:
print(slovo)
Izvr�enjem ove skripte kao rezultat dobijamo:
p
y
t
h
o
n
Ako imamo neku n-torku onda pomocu petlje for mo�emo da iteriramo kroz ovu n-torku:
jezici = ('php', 'python', 'c#', 'java')
for jezik in jezici:
print(jezik, len(jezik))
a nakon izvr�enja skripte imamo sledeci rezultat:
php 3
python 6
c# 2
java 4
Prilikom ispisa svakom jeziku smo pridru�ili i du�inu njihovog stringa.
N-torke
N-torke (tuples) predstavljaju nepromenljive strukture. To znaci da se jednom
definisane vrednosti unutar njih ne mogu menjati. Mogu sadr�ati elemente svih vrsta
tj. sve �to se mo�e dodeliti promenljivoj mo�e se dodati i u n-torku. Kreiraju se
vrlo lako:
jezici = ('php', 'python', 'c#', 'java')
prazna_ntorka = ()
ugnjezdena_ntorka = ((1,2), (3,4), 'simple string')
Elementi unutar ntorke su indeksirani tj. svakom od elemenata mo�ete direktno
pristupiti ukoliko znate njegov indeks. Tako bi u na�em primeru iskaz jezici[0]
ukazivao na prvi element tj. �php�, jezici[1] na �python� itd� Poslednjem elementu
mo�emo pristupiti na dva nacina � jezici[3] gde broj 3 predstavlja du�inu ntorke
umanjenu za jedan, i jezici[-1] jer je to element susedan prvom ali sa druge
strane. Po toj logici pretposlednji element bi imao indeks -2 itd� Ovakvo
indeksiranje va�i i za sve ostale strukture. Elementima struktura koje se nalaze
unutar neke strukture takode mo�emo pristupiti preko indeksa � ugnjezdena_ntorka[0]
[0] ukazuje na element 1, ugnjezdena_ntorka[1][1] na element 4 itd� Prvi indeks se
odnosi na ntorku ugnjezdena_ntorka dok se drugi indeks odnosi na strukuru koja se
nalazi unutar nje na tom indeksu. Preko indeksa mo�emo baratati i sa odredenim
opsegom unutar ntorke:
jezici = ('php', 'python', 'c#', 'java')
print(0:2)
print(:3)
print(:)
gde kao rezultat dobijamo:
('php', 'python')
('php', 'python', 'c#')
('php', 'python', 'c#', 'java')
Naveo sam da su ntorke nepromenljive. To znaci da ne mo�emo izmeniti, dodati ili
brisati elemente u ntorci nakon �to je definisana. Ako bismo poku�ali da izvr�imo
iskaz jezici[3] = �javascript� program bi izbacivao gre�ku. Korisne funkcije koje
se izvr�avaju nad ntorkama su min(ntorka) i max(ntorka) koje vracaju minimalnu
odnosno maksimalnu vrednost u ntorci sa ogranicenjem da se ne mogu primenjivati nad
ntorkama koje imaju ugnje�dene elemente. Funkcija len(ntorka) vraca ukupan broj
elemenata. Da bismo proverili da li se neki element nalazi unutar ntorke
koristicemo komandu in tj u na�em primeru sa jezicima:
if 'php' in jezici:
print('Jeste')
else:
print('Nije')
Nad n-torkama mo�emo izvr�iti operacije spajanja i repeticije:
prva_ntorka = (1, 2, 3)
druga_ntorka = (4, 5, 6)
print (prva_ntorka+druga_ntorka)
print (prva_ntorka*2)
gde kao rezultat izvr�enja dobijamo:
(1, 2, 3, 4, 5, 6)
(1, 2, 3, 1, 2, 3)
Ukoliko nam je poznato znacenje elemenata u listi mo�emo ih na sledeci nacin
dodeliti promenljivim:
spisak = (('Milan Popovic', 'PHP developer'), ('Borislav Ilic', 'Frontend
Developer'))
for pojedinac in spisak:
ime, zanimanje = pojedinac
print(ime, zanimanje)
gde kao rezultat izvr�enja dobijamo:
Milan Popovic PHP developer
Borislav Ilic Frontend Developer
Liste
Liste (Lists) predstavljaju promenljive strukture. Sve operacije koje sam naveo za
n-torke va�e i nad listama. Promenljivost elemenata je osnovna razlika izmedu n-
torki i listi. Liste se defini�u i menjaju na sledeci nacin:
jezici = ['php', 'pithon', 'c#', 'java']
print(jezici)
jezici[1] = 'python'
print(jezici)
jezici.append('javascript')
print(jezici)
jezici.remove('c#')
print(jezici)
jezici.insert(2, 'erlang')
print(jezici)
gde kao rezultat izvr�enja dobijamo:
['php', 'pithon', 'c#', 'java']
['php', 'python', 'c#', 'java']
['php', 'python', 'c#', 'java', 'javascript']
['php', 'python', 'java', 'javascript']
['php', 'python', 'erlang', 'java', 'javascript']
Prvo smo definisali listu jezici. Za razliku od n-torki koje se defini�u izmedu
obicnih zagrada () lista se defini�e izmedu uglastih []. Unutar liste smo namerno
pogre�ili drugi element � pithon. Pristupajuci direktno tom elementu preko indeksa
izmenili smo mu vrednost. Zatim smo izbacili iz liste element sa vredno�cu c#.
Zatim smo hteli da tacno na indeks 2 ubacimo element erlang te je lista dobila svoj
krajnji oblik � [�php�, �python�, �erlang�, �java�, �javascript�].
Pored navedenih korisne su i sledece metode:
jezici.reverse()
print(jezici.pop())
print(jezici.count('python'))
Najpre smo pozvali metodu reverse() pomocu koje smo obrnuli redosled elemenata u
listi pa je u tom trenutku lista izgledala ovako � [�javascript�, �java�, �erlang�,
�python�, �php�]. Metoda pop() vraca poslednji element sa liste i bri�e ga. Metoda
count(value) vraca broj pojavljivanja elementa value u listi.
Kao �to PHP ima deljenu referencu za objekte na isti nacin Python ima deljenu
referencu za liste tj ako postavimo da je kopija_liste = original_lista i pri tom
menjamo vrednosti elemenata u listi kopija_liste to ce se odraziti i na listu
original_lista. Ako bismo hteli pravu kopiju liste tada bismo morali navesti
kopija_liste = original_lista[:]
Kao �to mo�ete da primetite liste mogu sve �to i n-torke i jo� vi�e. Fleksibilne su
i u vecini slucajeva cemo im dati prednost u odnosu na n-torke. Medutim i n-torke
imaju svoju ulogu:
Br�e su � buduci da su nepromenljive sme�taju se u memoriju u takvom obliku da je
njihovo kori�cenje br�e.
Idealne su za konstante
Neki tipovi recnika zahtevaju iskljucivo njihovu upotrebu
N-torke su heterogene dok su liste homogene strukture
Recnici
Recnici (Dictionary) takode predstavljaju promenljive strukture. U recnicima podaci
se ne cuvaju u obliku skevenci nego u obliku parova. Dakle slicno pravim recnicima
� imamo rec tj kljuc i njeno znacenje tj. vrednost. Recnici u Python-u se jo� zovu
i asocijativni nizovi ili hash tabele. Defini�u se i menjaju na sledeci nacin:
recnik = {'Partizan': '100', 'Vojvodina': '69', 'Rad': '82'}
recnik['Vojvodina'] = 85
del recnik['Vojvodina']
novi_recnik = {(1,2): [1,2], (3,4): [3,4], (5,6): [5,6]}
Kao �to vidite recnici se defini�u izmedu viticastih zagrada. Znacenje kao i
brisanje kljuca se vr�i slicno kao kod nekog elementa liste. Kljuc u recniku je
nepromenljiv �o znaci da to mo�e biti broj, string ili n-torka. Kori�cenje bilo
koje druge promenljive nije dozvoljeno.
Neke od korisnih metoda nad recnicima su:
recnik = {'Partizan': '100', 'Vojvodina': '69', 'Rad': '82'}
recnik.get('OFK', 0) # Vraca podrazumevanu vrednost kljuca ako ne postoji
recnik.items() # Vraca listu koja se sastoji od ntorki koje predstavljaju
kljuc/vrednost
recnik.keys() # Vraca listu koja se sastoji od kljuceva recnika
recnik.values() # Vraca listu koja se sastoji od vrednosti kljuceva recnika
Malo poredenja
N-torke, liste i recnici su tri Python-ove strukture koje rade sa nizovima
podataka. U PHP-u su one spojene u jednu strukturu � nizove (arrays). Lak�i pristup
koji ima PHP svakako utice na performanse u radu sa nizovima. Jo� jedna stvar mi je
izazvala pa�nju � pocinjem da shvatam odbojnost programera prema needle � haystack
principu koji ima PHP kada odreduje da li neki element pripada nizu � mnogo je
citljivija i jednostavnija ista stvar u Python-u preko komande in. Kod odredjivanja
da li je neki string substring drugog stringa Python opet koristi istu komandu � in
� dok PHP ima posebnu funkciju za to. Python je svakako dosledan i praktican u
komandama a da li se u njemu stvarno programira brzinom razmi�ljanja � to cu tek
videti. Za sada su svi utisci krajnje pozitivni.

You might also like