Fem una ullada ràpida als operadors i a com funcionen:
Podem avaluar les expressions dels exemples fent servir
interactivament l'interpret de Python.
Per exemple, per a provar l'expressió 2 + 3
escriurem a l'interpret:
>>> 2 + 3 5 >>> 3 * 5 15 >>>
Table 5.1. Ús dels operadors
| Operador | Nom | Descripció | Exemples |
|---|---|---|---|
| + | Més | Suma dos objectes |
3 + 5 dóna 8.
'a' + 'b' dóna 'ab'.
|
| - | Menys | Amb un operand numèric, el multiplica per -1. Amb dos operands realitza la resta (o diferència) del primer pel segon. |
-5.2 dóna un número negatiu.
50 - 24 dóna 26.
|
| * | Multiplicació o producte | Dóna el resultat de multiplicar dos nombres o retorna una cadena repetida un nombre de vegades. |
2 * 3 dóna 6.
'la' * 3 dóna 'lalala'.
|
| ** | Potència | Retorna la potència del primer operand respecte el segon. |
3 ** 4 dóna 81
(és a dir 3 * 3 * 3 * 3)
|
| / | Divisió | Calcula la divisió del primer operand entre el segon. |
4/3 dóna 1
(la divisió d'enters retorna un enter).
4.0/3 o 4/3.0
dóna 1.3333333333333333
|
| // | Divisió entera | Calcula el resultat enter de la divisió dels dos operands. |
4 // 3.0 dóna 1.0
|
| % | Mòdul | Calcula la resta de la divisió entera. |
8%3 dóna 2.
-25.5%2.25 dóna 1.5 .
|
| << | Desplaçament a l'esquerra | Desplaça els bits del primer operand tantes posicions a l'esquerra com indica el segon operand. Recordem que cada nombre es representa a memòria amb bits o dígits binaris (0 i 1) |
2 << 2 dóna
8.
- 2 en binari es representa com
10.
El desplaçament a l'esquerra de dos bits retorna
1000 que representa el decimal
8.
|
| >> | Desplaçament a la dreta | Desplaça els bits del primer operand tantes posicions a la dreta com indica el segon operand. |
11 >> 1 dóna
5 -
11 en binari es representa com
1011. El desplaçament a la dreta
d'un bit retorna 101 que correspon
al decimal 5.
|
| & | AND binaria | Realitza la conjunció lògica (AND) a nivell de bit. |
5 & 3 dóna
1.
|
| | | OR binaria | Realitza la disjunció lògica (OR) a nivell de bit. |
5 | 3 dóna 7
|
| ^ | XOR binaria | Realitza la disjunció exclusiva (XOR) a nivell de bit. |
5 ^ 3 dóna 6
|
| ~ | NOT binària | La inversió a nivell de bit de x és -(x + 1) |
~5 dóna -6.
|
| < | Menor que |
Calcula si el primer operand és menor que el segon.
El resultat és 0 o
False, o 1 o
True. Atenció a la inicial en
majúscules d'aquests mots.
|
5 < 3 dóna
0 (és a dir False)
i 3 < 5 dóna
1 (o el que és el mateix
True).
Les comparacions poden ser encadenades lliurement:
3 < 5 < 7 dóna True.
|
| > | Major que | Calcula si el primer operand és més gran que el segon. |
5 < 3 dóna
True.
|
| <= | Menor o igual que | Calcula si el primer operand és menor o igual que el segon. |
x = 3; y = 6; x <= y
dóna True.
|
| >= | Major o igual que | Calcula si el primer operand és més gran o igual que el segon. |
x = 4; y = 3; x >= 3 dóna
True.
|
| == | Igual que | Compara si els dos operads són iguals. |
x = 2; y = 2; x == y dóna
True.
x = 'str'; y = 'stR'; x == y dóna
False.
x = 'str'; y = 'str'; x == y dóna
True.
|
| != | Diferent que | Compara si els dos operands són diferents. |
x = 2; y = 3; x != y dóna
True.
|
| not | Negació lógica |
Si l'operand és True, retorna
False. Altrament retorna
True.
|
x = True; not y dóna
False.
|
| and | Conjunció lógica |
x and y retorna False
si x avalua a False, altrament
retorna l'avaluació de y.
|
x = False; y = True; x and y dóna
False ja que x és False.
En aquest cas Python no avalua y ja que sap que el valor
de l'expressió serà fals independentment del valor de y.
|
| or | Disjunció lògica |
Si x és True, retorna True,
altrament torna l'avaluació de y.
|
x = True; y = False; x or y dóna
True.
En aquest cas Python no avalua y ja que sap que el valor
de l'expressió serà cert independentment del valor de y.
|