A Byte of Python

Operadors

Fem una ullada ràpida als operadors i a com funcionen:

Tip

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

OperadorNomDescripció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.
notNegació lógica Si l'operand és True, retorna False. Altrament retorna True. x = True; not y dóna False.
andConjunció 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.
orDisjunció 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.