Koje operacije imaju prioritet

7.2 Koje operacije imaju proritet? 

Vežbaj, vežbaj... Kao da sam neki bodi-bilder....
Pa i jesi, ali bih to više nazvao „brain builder“....
Ali, hajde da se osvrnemo na još jednu važnu temu, a to je – koja matematička operacija ima prioritet? Ili, još bolje pitanje: kakva je hijerarhija izvršavanja komandi u Pythonu? Ako se komande nađu u istom redu, kako ćemo znati šta Python radi prvo, a šta drugo?
Hajde da se vratimo tvom poznavanju matematike....
Ako za zadatak imalš da izračunaš vrednost izraza, na primer 24 + 2 * 3 , da li ćeš prvo sabrati 24 + 2 ili ćeš prvo izvršiti množenje 2 * 3?
Idi begaj! Pa to je lako, pošto čitamo sa leva na desno, znači da ćemo prvo sabrati 24 + 2. Narodi koji čitaju suprotno , će prvo pomnožiti 2 * 3, što je pogrešno!
Bravo za tvog nastavnika matematike!
Ukoliko si makar takao svoju knjigu iz matematike, koju si koristio u nekom od viših razreda u svojoj Osnovnoj školi, znao bi da se uvek prvo radi množenje. To znači da operacija množenja ima veći prioritet od operatora sabiranja. 
Budući da se stvari komplikuju kada u celu priču ubacimo stepenovanje, sinuse, kosinuse, neki put ni u matematici nije lako odrediti šta ide prvo (pogotovo kada čitaš zadatak nekoga ko „piše nogama“). A kako li je tek u Pythonu? Već smo upoznali neke funkcije, komande, a, pretpostavljaš i sam, ima mnogo, mnogo više stvari?
Eh, zato, da se ne bi smo gubili kako-šta, postoji tabela koja predstavlja prvenstvo izvršavanja operacija u Python-u, od najnižeg prioriteta (najkasnije se izvršava - poslednja) do najvišeg prioriteta (najranije se izvršava - prva). To znači, da će u datoj liniji, Python prvo izvršavati operacije koje se nalaze niže u priloženoj tabeli. 
Sledeća tabela preuzeta je sa sajta Python reference manual, ovde je napomenuta za tvoju informaciju, jer postoji i pametniji način od pamćenja prvenstva izvršavanja operacija – i to: korišćenje zagrada za grupisanje operacija na željeni način. Ako koristimo zagrade, mi direktno imamo kontrolu nad redosledom izvršavanja operacija, a sem toga, ako grupišemo operacije u zagrade učinićemo da naš program bude lakše čitljiv, kako nama, tako i nekome trećem, ko je zainteresovan. Više o tome malko kasnije.
I još jedna kratka napomena, pola stvari u ovoj tabeli ti je u ovom trenutku nepoznato. Neka ti to ne bude neki mambo-džambo, nego shvati to kao mali plamen sveće koji treba da ti osvetli celu prostoriju.
Operacija
Opis
lambda
Funkcija lambda
if - else
Operacija grananja
or
Bulovo ILI
and
Bulovo I
not x
Bulovo NE
in, not in, is, is not, <, <=, >, >=, !=, ==
Komparatori, testovi pripadnosti, testovi „identiteta“
|
Logičko ILI nad bitovima brojeva
^
Logička operacija XOR nad bitovima brojeva
&
Logičko I nad bitovima brojeva
<<, >>
Pomeranje bitova broja
+, -
Sabiranje i oduzimanje
*, /, //, %
Množenje, deljenje, celobrojno deljenje, ostatak deljenja
+x, -x, ~x
Pozitivan, negativan broj, logička inverzija bitova broja
**
Stepenovanje
x[indeks], x[indeks:indeks], x(argumenti...), x.atribut
Subskripcija, isecanje, pozivanje funkcije, referenca atributa objekta
(operacije...), [operacije...], {ključ: vrednost...}, {operacije...}
Kreiranje/prikaz: tuple, liste, rečnika i skupa
Operacije koje imaju isto prvenstvo su navedeni u istom redu u gornjoj tabeli. Na primer, + i - imaju istu prednost prilikom izvršavanja.

7.1.1 Prečice za
matematičke operacije
Indeks 7.3 Promena redosleda
izvršavanja operacija

Коментари

Popularno

Audacious - program za slušanje muzike

LibreOffice Calc - program za izradu tabela

Brasero - program za rezanje CD-ova

Bekstvo iz Titela

Minitube - program za praćenje YouTube sadržaja

Idemo

Kako blokirati neželjene oglase koje AdSense pokazuje na Vašoj web lokaciji

Bezimena

Pozadina Bekstva iz titela

Pažljivo sa MS Word dokumentima koje primate putem elektronske pošte