CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI


"Primul volum Python în română care pur și simplu m-a uimit. Foarte bine explicat și ușor de înțeles." (Alexandru Cosmin)

"Cea mai bună carte de Python din RO." (Iulian Geană)

"Livrare promptă! M-am pus pe treabă!" (Emil Ilie)

TOATE RECENZIILE
LECȚIA 2
PAG. 4 / 4
Operatori aritmetici
Acasă >>> Lecții online, limbajul Python 3

Prioritate și asociativitate

Esențial este să înțelegeți modul în care se evaluează o expresie, iar pentru aceasta avem nevoie de anumite noțiuni fundamentale.

Prioritatea (precedența) operatorilor. Deja sunteți obișnuiți cu această noțiune, știind că indică ordinea efectuării operațiilor.

Asociativitatea operatorilor. Noțiunea vă poate fi nouă și este de două feluri: de la stânga la dreapta și de la dreapta la stânga. De la început precizăm că operatorii cu aceeași prioritate au aceeași asociativitate.

Pentru a înțelege noțiunea de asociativitate, pornim de la o expresie în care operanzii sunt legați prin operatori cu aceeași prioritate. Dacă asociativitatea operatorilor este de la stânga spre dreapta, prima operație care se efectuează este cea corespunzătoare primului operator din stânga, a doua operație este cea corespunzătoare celui de-al doilea din stânga, etc. Evident, în cazul în care asociativitatea este de la dreapta la stânga, prima operație care se efectuează este cea a operatorului din dreapta, ș.a.m.d.

Spre exemplu, dacă avem operația 7 * 2 // 4, avem asociativitatea de la stânga la dreapta, deci se efectuează mai întâi 7*2, apoi 14//4, rezultatul fiind evident 3. Așadar, aici operatorii au aceeași prioritate.

Pe de altă parte, cu ajutorul operatorului "**", puteți ridica un număr la puterea unui exponent. În acest caz, asociativitatea este de la dreapta la stânga. Pentru 2 ** 3 ** 2, mai întâi se efectuează 32, rezultatul fiind 9. Apoi, 29, care obține valoarea 512.

Observați că 2 ** 3 ** 2 este echivalent cu 2 ** (3 ** 2).

Dacă folosim parantezele, rezultatul diferă, bineînțeles, deoarece acestea au o prioritate superioară operatorului "**":

(2 ** 3) ** 2

Se efectuează mai întâi paranteza, adică 23 = 8, apoi 82, rezultatul final fiind 64.

Concluzie

Rețineți că atunci când scrieți expresii, rezultatul depinde de mediul de programare utilizat, în acest caz Python, versiunea 3, precum și de totalitatea regulilor de sintaxă și a proprietăților cu ajutorul cărora acestea sunt evaluate.
Felicitări! Lecția s-a încheiat!
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [în format electronic] securizat sub formă de fișier *.pdf.

"O cameră fără cărţi este ca un corp fără suflet." (G. K. Chesterton)

Cursanții au mai cumpărat ...
[vezi lista completă a cărților]
 home   list  LECȚII   perm_identity   arrow_upward