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.
|