30 Izrazi, operatori i operacije3.3.1 Numeri£ke i aritmeti£ke operacije<strong>Python</strong> nudi uobi£ajene numeri£ke operacije, kako se vidi u tablici 3.3. Svi su brojevi samo£itaju¢i(engl. readonly) objekti, pa bilo koja numeri£ka operacija na brojnom objektu, uvijek proizvodi novibrojni objekt. Objekt kompleksnog broja z takožer ima samo£itaju¢e (atribute z.real i z.imag.Poku²aj repovezivanja ovih atributa na kompleksnom objektu podiºe iznimku. Treba primjetiti da +ili - znak nekog broja, kao i isti znakovi koji pridruºuju realni literal imaginarnom, kako bi se na£iniokompleksan broj, nisu dijelovi sintakse literala. Iz tog razloga se na primjer, -2 ** 2 izra£unava kao-4, jer potenciranje ima vi²i prioritet od znaka minusa, pa se cijeli izraz prevodi kao -(2 ** 2), a nekao (-2) ** 2.Tablica 3.3: Numeri£ke operacijeOperacijaOpisx + yZbrajanjex − yOduzimanjex ∗ yMnoºenjex/yDijeljenjex ∗ ∗y Potenciranje (x ∧ y)x%y Modulo funkcija (x mod y )−xUnarni minus+x Unarni plusUgražena divmod funkcija uzima dva argumenta i vra¢a par £iji su £lanovi kvocijent i ostatak, ²to jejednostavnije nego koristiti operator // za cjelobrojno dijeljenje i % za ostatak (tablica 3.4). Ugraženapow(a,b) funkcija vra¢a isti rezultat kao i a**b. Poziv funkcije pow() s tri argumenta, pow(a,b,c)vra¢a isti rezultat kao i (a**b)%c, ali brºe.Tablica 3.4: Ugražene aritmeti£ke funkcijeFunkcijaOpisabs(x)Apsolutna vrijednostdivmod(x,y) Vra¢a (int(x / y ), x % y )pow(x,y [,modulo]) Vra¢a (x ∗ ∗y)x%moduloround(x,[n])Zaokruºuje na najbliºi vi²ekratnik od 10 −n(samo za za realne brojeve)3.3.2 Prisilna i eksplicitna pretvorbaArithmeti£ke operacije i usporedbe mogu se primijeniti izmežu bilo koja dva broja. Ako se tipovi operanadarazlikuju, primjenjuje se prisila: <strong>Python</strong> prepravlja operande tako da one manjeg tipa pretvarau ve¢i. Poredani od najmanjeg do najve¢eg, tipovi brojeva su sljede¢i: cijeli brojevi, duga£ki cijelibrojevi, decimalni (realni, s pomi£nim zarezom) brojevi i kompleksni brojevi.Eksplicitna pretvorba moºe se primijeniti tako da se numeri£ki argument preda ºeljenoj ugraženojfunkciji: int, long, float te complex. U tom slu£aju int i long ¢e odbaciti decimalni dio svogargumenta i zadrºati samo cijeli, npr. int (9.8) je 9. Konverzija pak kompleksnog broja na bilo kojidrugi tip broja, odbacuje imaginarni dio. Za tvorbu kompleksnog broja mogu¢e je pozvati ugraženufunkciju complex s dva argumenta, koji predstavljaju realni i imaginarni dio.Funkcije Int i long takožer se mogu pozvati s dva argumenta: prvi je niz znakova za pretvorbu, adrugi baza (radix), tj. cijeli broj izmežu 2 i 36 kao baza za pretvorbu (npr. int('1101',2) vra¢a 13,vrijedost '1101' u bazi 2).
3.4. Operacije na nizovima 313.3.3 UsporedbaSvi objekti, uklju£uju¢i brojeve, mogu se usporeživati s obzirom na jednakost (==) i nejednakost (!=).Usporedbe koje zahtijevaju poredak (=) mogu se koristiti izmežu bilo koja dva broja osimkompleksnih. Svi takvi operatori vra¢aju Bool-ove vrijednosti (True ili False). Operatori usporedbe(tzv. odnosni operatori) prikazani su u tablici 3.5.Tablica 3.5: Operatori usporedbeOperatorOpisx < yManje negox > yVe¢e negox == yJednakox != y Nije jednako (isto kao )x >= yVe¢e nego ili jednakox