Malo prije smo naučili kako izraditi korisnički definirane funkcije.
Osim korisnički definiranih funkcija, Python programski jezik posjeduje
i neke ugrađene funkcije, koje ubrzavaju te olakšavaju izradu programa,
ili uspostavljaju komunikaciju između korisnika i programa. Slijedi opis
nekih od tih funkcija.
Funkcija len
Ovu funkciju ćete vjerujem često upotrebljavati u vašim Python
programima. Ekvivalentna je funkciji sizeof u C/C++ jeziku, ili lenth
funkciji u BASIC jezicima. Funkcija len kao argument uzima odgovarajući
Python objekt (string ili podatkovni niz), izračunava duljinu stringa,
ili ukoliko se radi o nizu podataka, izračunava broj elemenata u nizu
podataka. Nakon što izračuna duljinu, vraća tu informaciju kao
cjelobrojnu vrijednost (integer).
primjer17.py:
ime = "Perica Peric Dangubic"
duljina = len(ime)
print duljina
raw_input()
Pokretanjem ovog programa, na ekranu se ispisuje broj 21, budući da je
duljina imena i oba prezimena uključujući i razmake sveukupno 21
znakova. Primijetili ste da smo ovdje stvorili varijablu naziva duljina
kojoj smo dodijelili funkciju len, koja je izračunala duljinu stringa
pohranjenog u varijabli ime.
primjer18.py:
ime = raw_input("Unesite ime:")
if len(ime) > 30:
print "Ime ne smije sadrzavati vise od 30 znakova, sorry!"
raw_input()
U ovom programu tražimo od korisnika da unese svoje ime, te pomoću if
naredbe i len funkcije ispitujemo duljinu unosa. Ukoliko duljina
unesenog imena prelazi 30 znakova, korisnik će biti upozoren.
primjer19.py:
polaznici = ["Stipe", "Mirko", "Slavko", "Josip", "Pero", "Marko",
"Mato", "Janko", "Marija", "Julija", "Bozana"]
print len(polaznici)
raw_input()
U ovom primjeru izračunavamo broj elemenata u listi. Pokretanjem ovog
programa, na ekranu se ispisuje broj 11, s obzirom da lista pohranjena u
varijablu polaznici sadrži 11 elemenata (11 polaznika).
Funkcija input / raw_input
Ovu funkciju upotrebljavali smo u svakom našem dosadašnjem primjeru.
Funkcije input i raw_input se razlikuju samo po tome što raw_input
uvažava i unose znakova \ i navodnika, dakle ignorira escape sekvence o
kojima smo pričali u ranijem poglavlju. Obje funkcije kao argument traže
od korisnika da unese neki podatak, a nakon što korisnik pritisne Enter
na tipkovnici, vraćaju uneseni podatak kao string.
Funkcija int
Ovu funkciju koristili smo u ranijem poglavlju, jer nam je zatrebala u
tom trenutku. Ova funkcija također traži samo jedan argument, a to je
string koji sadrži brojeve (u obzir dolaze samo znamenke od 0 do 9).
Funkcija int jednostavno pretvara string u cjelobrojnu vrijednost, a
potrebna je u situacijama kao što je korištenje naredbi input ili
raw_input gdje se podaci vraćaju kao stringovi, pa stoga nije moguće
izvršavati računske operacije prije nego što se string pretvori u
cjelobrojnu vrijednost.
primjer20.py:
bc = input("Broj cipela molim?")
pretvorba = int(bc)
print "Da biste imali duplo vecu cipelu, treba vam broj", pretvorba +
pretvorba
raw_input()
Ovaj program će javiti grešku ako korisnik ne unese broj, ili unese
nešto drugo osim znamenki od 0 do 9.
Funkcija str i unicode
Ove funkcije služe za pretvaranje brojčanih vrijednosti ili nekih drugih
Python objekata u string odnosno unicode string. Također kao argument
uzimaju neki Python objekt. Ove funkcije je potrebno upotrebljavati ako
želimo kombinirati stringove i brojčane vrijednosti, ili želimo neku
brojčanu vrijednost proslijediti nekoj funkciji koja traži string kao
argument.
primjer21.py:
broj = 22
print "Ja sam mala plava, i imam " + str(broj) + " godina."
raw_input()
Napomena autora: Ima još mnogo ugrađenih funkcija, njih ćemo dodati
prilikom ažuriranja sadržaja knjige.