top of page


OSNOVE PYTHON-A 
(FUNKCIJE, KLASE, PETLJE...)

 


Prilikom ispisivanja bilo kakvih vrednosti u konzoli, funkcija koja se koristi je print(), gde bismo unutar zagrade uneli brojeve, tekstove ili promenljive koje smo prethodno deklarisali u projektu. Input() funkcija nam služi da iz konzole uzme bilo kakvu vrednost koju unesemo i sačuva u vidu promenljive.

print('Veštačka Inteligencija')

print(3)

tekst = 'Neki tekst'

print(tekst)

print('')

tekst = input('Unesite tekst: ')

print('Vaš tekst je: ' + tekst)

Output:

Veštačka Inteligencija

3

Neki tekst

Unesite tekst: Veštačka Inteligencija

Vaš tekst je: Veštačka Inteligencija

Promenljive vrednosti u pythonu, za razliku od ostalih programskih jezika ne zahteva definisanje kog je tipa sama promenljiva kao što su int, string, float isl. Promenljive su svakako definisane, ali to se dešava automatski prilikom dodele njihovih vrednosti. Ukoliko dodelimo brojnu vrednost nekoj promenljivoj, ta vrednost će biti definisana kao int, float, double... dok ukoliko dodelimo tekst, promenljiva će se tretirati kao string.

broj = 5

print(broj)

broj = 5.5

print(broj)

print(broj + broj)

broj = 6/2

print(broj)

tekst = 'Veštačka Inteligencija'

print(tekst)

Output:

5

5.5

11.0

3.0

Veštačka Inteligencija

Nizovi se definišu kao normalne promenljive vrednosti, osim što se upisuju sa uglastom zadragom koja sadrži više različitih vrednosti koji mogu biti int,string isl.

niz = [10,15,22,35,42]

print(niz)

print(niz[2]) 

print(len(niz))

 

tekst = 'Veštačka Inteligencija'
print(tekst.split(' ')) 

Output:

[10, 15, 22, 35, 42]

22

5

['Vestacka', 'Inteligencija']

If petlja se koristi kako bi definisao uslov koji ispituje vrednost jedne ili više promenljivih. Ukoliko je uslov ispunjen, izvšrava se sve što je definisano uvučenim redom nakon uslova. Osim same if petlje, dodatne ključne reči kao što su elif i else postoje. Elif se koristi kao naredni uslov ukoliko prvi uslov nije ispunjen. U drugim programskim jezicima se definiše kao else if. Else se koristi ukoliko svi prethodni uslovi nisu ispunjeni, gde će izvršiti sve funkcije koje su za else definisane.

karakter = 'T'

if karakter == 'S':

print('karakter je s')

elif karakter == 'T':

print('karakter je t')

else:

print('nepoznat karakter')

 

Output:

karakter je t

For petlja funkcioniše nalik if petlje, samo što će umesto jedne iteracije gde ispituje vrednost pa izvršava funkciju, izvršiće je više puta. U prvoj for petlji sa slike definišemo range(3) što nam formira nedefinisanu promenljivo od vrednosti 0,1,2 i promenljivu I koja definiše sve te vrednosti u svakoj iteraciji posebno, gde je onda ispisujemo. U drugom primeru definišemo niz i promenljivu br koja uzima sve vrednosti iz niza. U prvoj for petlji imamo 3 iteracije dok u drugoj imamo 5.

for i in range(3):

print(i)

for i in range(3):

print(i, end=' ')

print('')

niz = [10,15,22,35,42]

for br in niz:

if br % 5 == 0:

print(br)

print('')

for i in range(0124):

print(i)

Output:

0

1

2

0 1 2

10

15

35

0

4

8

While petlja sadrži uslov koji mora biti ispunjem poput if petlja, ali za razliku od nje, while petlja će se stalno izvršavati dokle god je uslov tačan. U ovoj petlji bi morali da menjamo vrednosti koje se nalaze u uslovu, ili eventualno iskoristiti reč break, tako da ne napravimo jednu beskonačnu petlju iz koje ne možemo izaći.

broj = 0
while( broj < 5):

print(broj)

broj += 1

 

Output:

0

1

2

3

4

Funkcije u python-u se definišu kao deo koda koji se pokreće tek kada je referenciran. Koristi se za korišćenje koda na više od jednog mesta u programu. Postoje već neke definisane funkcije kao što su print() funkcija. Vrednosti koje se nalaze van svih funkcija se nazivaju globalne promenljive dok vrednost unutar su lokalne, i ukoliko menjamo lokalne promenljive, van tih funkcija neće biti promena, kao u primeru ispod.

broj = 10

def funkcija():

broj = 20

print(broj * broj )

print(broj)

funkcija()

print(broj)

 

Output:

10

400

10

Python klasa je poput nacrta za kreiranje novog objekta. Objekt je bilo šta čime želimo da manipulišemo ili promenimo dok radimo kroz kod. Svaki put kada se instancira objekat klase, a to je kada deklarišemo promenljivu, novi objekat se pokreće od nule. Za razliku od funkcija, klase se izvršavaju iako se ne pozivaju kao u primeru prve klase ispod.

class klasa1():

broj = 5

print(broj)

class klasa2():

def funkcija(self, tekst):

print(tekst)

c = klasa2()

c.funkcija('Tekst za ispisivanje')

 

Output:

5

Tekst za ispisivanje

Konstruktori su posebni tipovi metoda (funkcija) koji se koriste za inicijalizaciju članova instance klasa. Metod __init__() simulira konstruktor klase. Ovaj metod se poziva kada je klasa instancirana. On prihvata samo ključnu reč kao prvi argument koji omogućava pristup atributima ili metodu klase. Funkcija __str__() se koristi kada želimo da ispišemo neku vrednost koja je definisana za samu klasu, i poziva se korišćenjem print za sam objekat definisane klase.

class klasa:

def __init__(self, tekst, broj):

self.tekst = tekst

self.broj = broj

def __str__(self):

return 'Vrednost {:d}: {:s}'.format(self.broj, self.tekst)

v1 = klasa('Veštačka', 1)

v2 = klasa('Inteligencija', 2)

 

print(v1)

print(v2)

 

Output:

Vrednost 1: Veštačka
Vrednost 2: Inteligencija

Break komanda prilikom korišćenja unutar for petlje prekida samu petlju i izlazi iz nje. U datom primeru, u nizu od pet uzastopnih vrednosti, prilikom nailaska na vrednost 3 koju proverava if petlja, izvršava se break komanda i nakon ispisanih vrednosti 0,1,2, for petlja se prekida.

for i in range(5):

if (i == 3):

break

print(i)

 

Output:

0

1

2

Za razliku od break komande, continue komanda će umesto prekidanja for petlje, samo preskočiti trenutnu iteraciju i preći na sledeću ukoliko postoji. U datom primeru, u vrednostima 0-4, brojevi 0 i 3 su deljivi sa 3, koji bi rezultirali 0 i 1 respektivno, tako da se deo koda koji bi ih ispisao (print) preskače i zapisuju samo 1,2,4.

for i in range(5):

if (i % 3 == 0):

continue

print(i)

 

Output:

1

2

4

bottom of page