180 likes | 338 Views
PYTHON BUILT-IN FUNKCIJE I ATRIBUTI. Funkcije za pretvaranje tipa. bool ([ x ])
E N D
Funkcije za pretvaranje tipa bool([x]) Pretvara vrijednost u Boolean koristeći standardni istinosni test. Ako je x neistinit ili izostavljen, funkcija vraća False, a inače vraća True. bool je podklasa od int. Klasa bool ne može imati podklasa. Jedine instance klase bool su False i True. int([x[, radix]]) Pretvara string ili broj u cijeli broj (ne dugi cijeli broj!). Ako je argument string, on mora sadržavati cijeli broj s ili bez predznaka koji može biti okružen s razmacima. Parametrom radix, koji može biti cijeli broj od 2 do 36 ili 0, zadajemo bazu za konverziju. Ako je radix 0 baza konverzije se određuje ovisno o sadržaju stringa. Ako navedemo radix, a x nije string diže se iznimka TypeError. Brojevi s pomičnim zarezom se zaokružuju prema nuli. Ako je argument izvan granica integer tipa, vraća se long. Ako nisu zadani argumenti, vraća 0. long([x[, radix]]) Pretvara string ili broj u dugi cijeli broj. Vidi int(). Ako funkciju pozovemo bez argumenata vraća 0L. float([x]) Pretvara string ili broj u broj s pomičnim zarezom. Ako je argument string on mora sadržavati broj s ili bez predznaka koji može biti omeđen s nekoliko razmaka. Ako se funkcija pozove bez argumenata vratit će 0.0.
Funkcije za pretvaranje tipa complex([real[, imag]]) Stvara kompleksan broj real + imag * jili pretvara string ili broj u kompleksan broj. Oba argumenta mogu biti numeričkog tipa (pa čak i kompleksni brojevi). Ako je prvi argument string on se interpretira kao kompleksan broj i ne smije biti drugog argumenta. Drugi argument ne smije biti string. Ako se imag izostavi, ova funkcija služi kao funkcije int(), long() ili float() za numeričku konverziju. Ako se oba argumenta izostave, funkcija vraća 0j. hex(x) Cijeli broj x pretvara u heksadecimalni string. >>> hex(-1234567890) '-0x499602d2' oct(x) Cijeli broj x pretvara u oktalni string. repr(object) Vraća string koji sadrži ispisivu verziju objekta. Pokušava vratiti string koji bi funkcija eval() prevela u isti taj objekt. >>> repr(["jen'",'dva',3]) '["jen\'", \'dva\', 3]‘ str([object]) Vraća string koji predstavlja lijepo ispisivi objekt. Razlika između repr() i str() je ta što str() ne pokušava uvijek vratiti string koji je prihvatljiv funkciji eval(). Ako se ne navede argument vraća prazan string.
Funkcije za pretvaranje tipa ord(c) Argument mora biti jednoznačni string. Vraća broj koji predstavlja Unicode oznaku ako se radi o unicode stringu, ili vrijednost bajta (ASCII oznaku) kada je to 8-bitni znak. Ovo je inverz od chr() za 8-bitne stringove, a od unichr() za unicode objekte. chr(i) To je inverz funkcije ord(). Za i iz [1,...,255] vraća jedan znak čiji ASCII kod je broj i. Inače se podiže iznimku ValueError. >>> chr(65) 'A' unichr(i) Vraća unicode string znaka čija je unicode oznaka broj i. Ovo je inverz od ord() za unicode stringove. unicode([object[, encoding [, errors]]]) Vraća unicode string verziju objekta koristeći jedan od sljedećih načina: Ako su zadani argumenti encoding i/ili errors, funkcija vraća unicode string dobiven kodiranjem encoding. Ako dođe do grešaka (encoding nije poznat ili nije definiran za neke znakove...), funkcija se prema njima ponaša prema errors.
Funkcije za pretvaranje tipa list([sequence]) sequence može biti niz, spremnik koji podržava iteraciju, ili iterator objekt. Vraća listu čiji su elementi isti i u istom poretku kao i u sequence. Ako funkciju pozovemo bez argumenata dobijemo praznu listu. tuple([sequence]) sequence može biti niz, spremnik koji podržava iteraciju, ili iterator objekt. Vraća n-torku čiji su elementi isti i u istom redoslijedu kao u sequence-u. Ako argument nije naveden, vraća praznu n-torku. dict([mapping-or-sequence]) Vraća novi rječnik čiji sadržaj je određen opcionalnim argumentom. Ako se ne navede argument, dobije se prazan rječnik. Argument može biti niz dvočlanih nizova ili niz ključevima pridruženih vrijednosti. Sljedeće naredbe sve rade i vraćaju isti rječnik: dict({‘jedan': 2, ‘dva': 3}) dict(zip((‘jedan', ‘dva'), (2, 3))) dict([[‘dva', 3], [‘jedan', 2]]) dict(jedan=2, dva=3)
Numeričke funkcije abs(x) Argument x može biti bilo koji ugrađeni brojevni tip (int, long, float ili complex). Ako je x kompleksan broj dobit ćemo njegov modul, a inače abs(x) vraća apsolutnu vrijednost broja. divmod(a, b) Argumenti ove funkcije moraju biti brojevnog tipa (osim kompleksnih). Za cijele i dugačke cijele brojeve vraća uređeni par (a//b,a%b). Za realne argumente rezultat je (q, a % b), gdje je q obično math.floor(a/b), ali može biti za 1 manji od toga (u slučaju negativnih brojeva). U svakom slučaju q * b + a % b je vrlo blizu a. Ako a%b nije nula, ima isti predznak kao i b. pow(x, y[, z]) Vraća x na y-tu potenciju. Ako je zadan opcionalni argument z vraća x na y-tu potenciju modulo z efikasnije od pow(x,y)%z. Oblik pow(x,y) je ekvivalentan s x**y. round(x[, n]) Vraća float vrijednost broja x zaokruženog na n znamenki. Ako se argument n izostavi, pretpostavlja se da je nula. Zaokružuje se na najbližu vrijednost. Ako postoje dvije najbliže vrijednosti, zaokružuje se od nule (npr. round(0.5) vraća 1, a round(-0.5) vraća -1). sum(sequence[, start]) Sumira start s elementima sequence-a s lijeva nadesno. Elementi sequence-a ne smiju biti stringovi.
Funkcije nad atributima delattr(object, name) Argumenti ove funkcije su objekt i string. String mora biti ime objektovog atributa. Briše atribut name objekta object ako to objekt dopušta. delattr(x,’ime’) je ekvivalentno s del x.ime. getattr(object, name[, default]) Argumenti su objekt i string. Vraća atribut name objekta object. Ako ne postoji atribut name, vraća default, ako je zadan, inače diže iznimku AttributeError. Ako postoji navedeni atribut onda je getattr(x,’ime’) ekvivalentno x.ime. hasattr(object, name) Argumenti su objekt i string. Vraća True ako object ima atribut name, a inače False. To je napravljeno pomoću poziva funkcije getattr(object, name) i provjerom da li diže iznimku. setattr(object, name, value) Argumenti su objekt, string i proizvoljna vrijednost. String može biti i ime već postojećeg atributa. Funkcija pridružuje vrijednost atributu objekta, ako to objekt dopušta. Na primjer, setattr(x,’ime’,123) je ekvivalentno x.ime=123.
Funkcije nad nizovima all(iterable) Funkcija vraća True ako su svi elementi iterable-a istiniti. Inače vraća False. >>> all((-1," ",[False],(None,))) True any(iterable) Funkcija vraća True ako je bar jedan element iterable-a istinit. Inače vraća False. >>> any(['',[],(),False,None,0]) False enumerate(iterable) Vraća enumerate objekt. iterable mora biti niz, iterator ili neki drugi objekt koji podržava iteraciju. next()metoda iteratora kojeg vraća enumerate(iterable) daje uređeni par (broj,iterable[broj]), gdje broj počinje od 0. filter(function, list) Vraća listu elemenata liste list za koje funkcija function vrati True. list može biti bilo koji niz, spremnik koji podržava iteraciju ili iterator. Ako je list string ili n-torka, i rezultat je tog tipa; inače kao rezultat dobivamo listu. Ako je funkcija None, koristi se identiteta, pa dobijemo listu istinitih elemenata. Ako list nije string ili n-torka filter(function, list) je ekvivalentno [item for item in list if function(item)] ili, ako je functionNone,[item for item in list if item].
Funkcije nad nizovima len(s) Vraća duljinu (broj elemenata) objekta s. Argument može biti niz (string, lista ili n-torka) ili rječnik. map(function, list, ...) Primjenjuje funkciju function na svaki element od list i vraća listu rezultata. Ako je navedeno više lista, tada function mora imati argumenata koliko ima lista i primjenjuje se na sve liste paralelno. Ako je neka od lista kraća od ostalih, proširuje se s None. list može biti bilo kakav niz, rezultat je uvijek lista. max(s[, args...][key]) Pozvana s jednim argumentom, funkcija vraća najveći element nepraznog niza s. Ako navedemo više argumenata, vraća najveći od njih. Proizvoljni argument key određuje jednomjesnu funkciju za poredak (kao u list.sort()). Npr. max(‘a’,’b’,’C’,key=str.lower) vraća ‘C’, a ne ‘b’. min(s[, args...][key]) Pozvana s jednim argumentom, funkcija vraća najmanji element nepraznog niza s. Ako navedemo više argumenata, vraća najmanji od njih. Proizvoljni argument key određuje jednomjesnu funkciju za poredak (kao u list.sort()). Npr. min('a','B','C',key=str.lower) vraća ‘a’ a ne ‘B’.
Funkcije nad nizovima reduce(function, sequence[, initializer]) Primjenjuje dvomjesnu funkciju function kumulativno na elemente sequence-a, s lijeva nadesno. Na primjer, pozivom reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])dobit ćemo rezultat od((((1+2)+3)+4)+5). Ako je prisutan opcionalni argument initialiser, on se smatra početnom vrijednošću. zip([iterable, ...]) Vraća listu n-torki, u kojima i-ta n-torka sadrži i-te elemente svih argumenata. Lista se skraćuje na duljinu najkraćeg argumenta. Pozvana bez argumenata, funkcija vraća praznu listu.
Razne funkcije • callable(object) Vraća True ako se object može pozvati, a inače False. Klase se mogu pozvati (vraćaju instancu klase). Instance klase se mogu pozvati ako imaju definiranu metodu __call__(). • cmp(x, y) Uspoređuje x i y, te vraća negativan broj ako je x manji od y, 0 ako je x jednak y, ili pozitivan broj ako je x veći od y. Brojevi se uspoređuju po vrijednosti, stringovi po ASCII tablici, liste i n-torke po elementima... Vrijedi: broj<string<rječnik<lista<n-torka. >>> cmp('a','b') -1 >>> cmp('a','B') 1 • dir([object]) Bez argumenata, vraća listu imena iz lokalne tablice simbola. S argumentom, pokušava vratiti listu atributa tog objekta. Ta lista se dobiva iz objektovog __dict__ atributa, ako je definiran, ili iz klase ili tipa objekta. Ta lista nije uvijek potpuna.
Razne funkcije • eval(expression[, globals[, locals]]) Prvi argument je string. Opcionalni argument globals mora biti rječnik, a opcionalni argument locals rječnik ili sličan objekt. U svom osnovnom obliku izvršava expression i vraća rezultat. • file(filename[, mode[, bufsize]]) Konstruktor funkcija za file tip. Argumenti su isti kao i kod funkcije open(). Kada se otvara datoteka preporuča se korištenje funkcije open(). • globals() Vraća rječnik koji predstavlja trenutnu tablicu globalnih simbola. To je uvijek rječnik trenutnog modula (unutar funkcije ili metode to je modul u kojem je definirano, a ne modul iz kojeg se poziva). • hash(object) Vraća hash vrijednost objekta (ako je ima). Hash vrijednosti su cijeli brojevi koji se koriste za brzo uspoređivanje ključeva rječnika pri pretraživanju. Numeričke vrijednosti koje su po usporedbi jednake imaju istu hash vrijednost (npr. 1 i 1.0).
Razne funkcije • help([object]) Poziva ugrađeni sustav pomoći koji je napravljen za interaktivnu uporabu. Ako se ne navede argument, interaktivna pomoć počinje u konzoli. Ako je argument string, traži se modul, funkcija, klasa,... s tim imenom i prikazuje se pomoć. • id(object) Vraća cjelobrojnu oznaku objekta koja je jedinstvena i konstantna dok god postoji taj objekt. • input([prompt]) Ekvivalentno eval(raw_input(prompt)). Ova funkcija očekuje ispravan Python izraz kao unos, inače se diže iznimka SyntaxError, a mogu se pojaviti i druge greške pri izvođenju.. • isinstance(object, classinfo) classinfo mora biti klasa, tip ili n-torka klasa, tipova i takvih n-torki; inače se podiže iznimka TypeError. Vraća True ako je object instanca klase classinfo ili neke neke podklase, ili, ako je object tipa classinfo.; inače vraća False. • issubclass(class, classinfo) classinfo mora biti klasa ili n-torka klasa; inače se podiže iznimka TypeError. Vraća True ako je class podklasa (direktna ili indirektna) od classinfo, a inače False. • iter(o[, sentinel]) Vraća iterator objekt.
Razne funkcije • locals() Osvježava i vraća riječnik koji predstavlja trenutnu tablicu lokalnih simbola. • object() Vraća novi objekt bez svojstava. • open(filename[, mode[, bufsize]]) Otvara datoteku i vraća objekt file tipa. Ako se datoteka ne može otvoriti diže se iznimka IOError. Kada se otvara datoteka, bolje je koristiti open()nego pozivati file() konstruktor. filename je ime datoteke koju otvaramo, mode je način na koji ju želimo otvoriti. Najčešći načini su ‘r’ (čitanje, pretpostavljeni način), ‘w’ (pisanje) i ‘a’ (dodavanje na kraj). Za otvaranje binarnih datoteka još se načinu pripisuje ‘b’. Načini ‘r+’, ‘w+’ i ‘a+’ otvaraju datoteku za čitanje i pisanje s određenim razlikama. Ovim načinima su pridodani ‘U’ ili ‘rU’, koji prepoznaju razne zapise kraja linije. Opcionalni argument bufsize govori željenu veličinu međuspremnika. 0 znači bez buffera, 1 znači linijski buffer, -1 sistemska pretpostavljena veličina, a bilo koji drugi pozitivan broj označava veličinu buffera.
Razne funkcije • range([start,] stop[, step]) Funkcija koja stvara aritmetičke liste. Najčešće se koristi u for petljama. Argumenti moraju biti cijeli brojevi. Ako je argument step izostavljen, pretpostavlja se da je 1. Ako je izostavljen argument start, pretpostavlja se da je 0. Vraća listu [start, start+step,start+2*step,...]. Ako je step pozitivan, posljednji element je najveći start+i*step manji od stop. Ako je step negativan, posljednji element je najmanji start+i*step veći od stop. • raw_input([prompt]) Ako je funkcija pozvana s argumentom prompt, on se ispisuje bez znaka za novu liniju na kraju. Funkcija tada učitava liniju s ulaza, pretvara je u string i vraća to. S modulom readline ova funkcija dobiva još mogućnosti. • reload(module) Ponovo učitava već učitani modul. Ova naredba je korisna kada se vanjskim editorom promijeni neki modul, i želi ga se isprobati bez napuštanja Python prevoditelja. Za više detalja pogledati help. • reversed(seq) Vraća obrnuti iterator
Razne funkcije • set([iterable]) Vraća skup čiji su elementi članovi iterable-a. elementi moraju biti nepromjenjivi. Da bismo napravili skup skupova, unutrašnji skupuvi moraju biti frozenset objekti. Ako argument nije naveden funkcija vraća prazan skup set([]). • slice([start,] stop[, step]) Vraća slice objekt koji predstavlja skup vrhova određenih s range(start, stop, step). Slice objekti imaju read-only atribute start, stop i step, i nemaju drugih eksplicitnih primjena. • sorted(iterable[, cmp[, key[, reverse]]]) Vraća novu sortiranu listu dobivenu iz iterable-a. Argument cmp određuje dvomjesnu funkciju za uspoređivanje koja vraća pozitivne, negativne vrijednosti ili nulu, ovisno o tome je li prvi argument veći, manji ili jednak drugom argumentu. Argument key određuje jednomjesnu funkciju kojom ‘prerađujemo’ vrijednosti koje sortiramo. reverse je boolova vrijednost. Ako je True, sortira se obratno. Ako je False, sortira se normalno.
Razne funkcije • super(type[, object-or-type]) Vraća superklasu od type. Ako je drugi argument objekt, isinstance(obj, type) mora vratiti True. Ako je drugi argument tip, issubclass(tip, type) mora vratiti True. • type(object) Vraća tip objekta object. Ako se pozove s tri argumenta, radi na dolje naveden način. • type(name, bases, dict) Vraća novi tip objekt. Ovo je u biti dinamički oblik izjave class. String name je ime klase i postaje __name__ atribut. N-torka bases nabraja osnovne klase i postaje __bases__ atribut. Rječnik dict je prostor imena koji sadrži definicije iz tijela klase i postaje __dict__ atribut. Ako nema opcionalnih argumenata, unicode() oponaša str(), samo što vraća unicode string. • vars([object]) Pozvana bez argumenata, funkcija vraća rječnik lokalne tablice simbola. Ako je argument modul, klasa ili instanca klase (ili bilo što sa __dict__ atributom), vraća rječnik koji odgovara tablici lokalnih simbola objekta. • xrange([start,] stop[, step]) Funkcija je vrlo slična funkciji range(), samo što vraća xrange objekt umjesto liste. Vraća iste vrijednosti bez da ih sve istovremeno sprema u memoriju.
Built-in atributi • __doc__ Dokumentacijski string • __dict__ Rječnik (ili sličan objekt) u koji se spremaju objektovi (promjenjivi) atributi • __class__ Klasa kojoj instanca klase pripada • __bases__ N-torka osnovnih klasa neke klase. Ako ih nema, to je prazna n-torka. • __name__ Ime klase ili tipa