2.1.3 Operadors en Python
Els operadors són símbols especials que realitzen operacions sobre valors i variables. En programació, els utilitzem per:
- fer càlculs,
- comparar valors,
- combinar condicions.
A Python hi ha tres grups principals d’operadors:
- Operadors aritmètics: càlculs (sumar, restar, multiplicar…)
- Operadors relacionals: comparacions (igual, diferent, major, menor…). Estos operadors retornen valors booleans (True o False).
- Operadors lògics: combinar condicions (and, or, not), també retornen valors booleans (True o False).
Estos operadors ens permetran crear programes que calculen, decideixen i comproven condicions.
1. Operadors aritmètics
Els operadors aritmètics s’utilitzen per a realitzar operacions matemàtiques bàsiques. Python ofereix estes operacions:
| Operador | Significat |
|---|---|
| + | Suma |
| - | Resta |
| * | Multiplicació |
| / | Divisió decimal |
| // | Divisió entera (sense decimals) |
| % | Mòdul (residu) |
| ** | Potència (exponent) |
Exemples:
x = 10
y = 3
print(x + y) # 13
print(x - y) # 7
print(x * y) # 30
print(x / y) # 3.333...
print(x // y) # 3
print(x % y) # 1
print(x ** y) # 1000
✔ Diferència important: / vs //
print(7 / 2) # 3.5 (divisió decimal)
print(7 // 2) # 3 (divisió entera)
1.1. Operadors d’assignació combinats
Són molt útils per actualitzar variables:
| Operador | Equivalent a… |
|---|---|
| x += 2 | x = x + 2 |
| x -= 3 | x = x - 3 |
| x *= 4 | x = x * 4 |
| x /= 2 | x = x / 2 |
Exemple:
x = 5
x += 2 # x = x + 2
print(x) # 7
En general els operadors d’assignació combinats funcionen de la següent manera:
Se pren el valor actual de la variable, s’aplica l’operació indicada amb el valor donat, i el resultat s’assigna de nou a la variable.
1.2. Operador + amb textos (concatenació)
L’operador + també pot utilitzar-se amb cadenes de text. En este cas, no suma, sinó que ajunta (concatena) els textos:
text1 = "Hola"
text2 = "món"
print(text1 + text2)
Eixida:
Holamón
Si volem un espai entre paraules, l’hem d’afegir nosaltres:
print(text1 + " " + text2)
Eixida:
Hola món
Diferència important: números vs textos
Amb números:
3 + 4 # 7
Amb textos:
"3" + "4" # "34"
Python no suma textos, els concatena.
Error típic
edat = 18
print("Tens " + edat + " anys") # ERROR
Este error passa perquè "Tens " és text, però edat és un número.
Solució: Convertir el número a text:
print("Tens " + str(edat) + " anys")
2. Operadors relacionals
Comparen dos valors i retornen True o False.
| Operador | Significat |
|---|---|
| == | Igual |
| != | Diferent |
| < | Menor |
| <= | Menor o igual |
| > | Major |
| >= | Major o igual |
Exemple:
edat = 18
print(edat >= 18) # True
print(edat < 21) # True
print(edat == 20) # False
print(edat != 15) # True
Important!!: Python pot comparar cadenes segons l’ordre alfabètic:
print("Ana" < "Juan") # True
3. Operadors lògics
Els operadors lògics permeten combinar condicions, es a dir, comparar múltiples expressions al mateix temps. açò és útil quan volem prendre decisions més complexes en els nostres programes.
Són essencials en instruccions com if.
| Operador | Significat |
|---|---|
| and | Les dues condicions són True |
| or | Almenys una condició és True |
| not | Inverteix True/False |
Exemple:
print(3 > 2 and 5 > 1) # True
print(3 > 4 or 2 > 1) # True
print(not False) # True
Exemple amb variables booleanes
plou = True
paragües = False
print(plou and paragües) # False
print(plou or paragües) # True
print(not plou) # False
4. Errors habituals
És important reconéixer alguns errors bàsics que apareixen molt quan treballem amb operadors.
IndentationError (espais incorrectes)
if True:
print("hola") # Incorrecte
Solució:
if True:
print("hola")
NameError (variable no definida)
print(x) # x no existeix
TypeError (sumar text i número)
edat = int(input("Edat: "))
print("Tens " + edat + " anys") # Error
Solució:
print("Tens", edat, "anys")
# o:
print("Tens " + str(edat) + " anys")
Taula de precendència d’operadors en Phyton
Els operadors no s’avaluen d’esquerra a dreta sempre. Python segueix un ordre de prioritat (precedència), igual que en matemàtiques.
Els operadors amb més precedència s’executen abans.
Precedència (de major a menor)
| Nivell | Operador(s) | Descripció | Exemple | Resultat |
|---|---|---|---|---|
| 1 | () | Parèntesis | (2 + 3) * 4 | 20 |
| 2 | ** | Potència | 2 ** 3 | 8 |
| 3 | + - (unaris) | Signe positiu / negatiu | -5 | -5 |
| 4 | * / // % | Multiplicació, divisions, mòdul | 10 // 3 | 3 |
| 5 | + - | Suma i resta | 2 + 3 | 5 |
| 6 | < <= > >= | Comparacions | 5 > 3 | True |
| 7 | == != | Igualtat / diferència | 4 == 4 | True |
| 8 | not | Negació lògica | not True | False |
| 9 | and | AND lògic | True and False | False |
| 10 | or | OR lògic | True or False | True |
Exemples de precedència
- Exemple 1 — Sense parèntesis
print(2 + 3 * 4)
Resultat:
14
- Primer
3 * 4, després2 + 12.
- Exemple 2 — Amb parèntesis
print((2 + 3) * 4)
Resultat:
20
- Els parèntesis canvien l’ordre d’execució.
- Exemple 3 — Comparacions i lògics
print(5 > 3 and 2 < 1)
Resultat:
False
- Primer es resolen les comparacions, després l’
and.
- Exemple 4 —
notté més prioritat queand
print(not False and True)
Resultat:
True
not False→True, desprésTrue and True.
**Regla d’or **
Si tens dubtes, usa parèntesis. Fan el codi més clar i eviten errors.
En Resum:
Tipus d’operadors en Python
| Tipus d’operador | Per a què s’utilitza | Exemple | Resultat |
|---|---|---|---|
| Aritmètics | Fer càlculs | 7 * 3 | 21 |
| De concatenació | Ajuntar textos | "Hola " + "tu" | "Hola tu" |
| Relacionals | Comparar valors | 5 > 2 | True |
| Lògics | Combinar condicions | True and False | False |
Operadors aritmètics
| Operador | Significat | Exemple | Resultat |
|---|---|---|---|
| + | Suma | 5 + 3 | 8 |
| - | Resta | 10 - 4 | 6 |
| ***** | Multiplicació | 6 * 2 | 12 |
| / | Divisió decimal | 7 / 2 | 3.5 |
| // | Divisió entera | 7 // 2 | 3 |
| % | Mòdul (residu) | 7 % 2 | 1 |
| ** | Potència (exponent) | 2 ** 3 | 8 |
Operador + amb textos (concatenació)
| Exemple | Resultat |
|---|---|
"Hola" + "món" | "Holamón" |
"Hola" + " " + "món" | "Hola món" |
str(18) per convertir número | "18" |
Nota: El mateix operador
+suma números però concatena textos.
Operadors d’assignació combinats
| Operador | Equivalent | Exemple | Resultat |
|---|---|---|---|
| x += 2 | x = x + 2 | si x = 5 → x += 2 | 7 |
| x -= 3 | x = x - 3 | si x = 10 → x -= 3 | 7 |
| x *= 4 | x = x * 4 | si x = 3 → x *= 4 | 12 |
| x /= 2 | x = x / 2 | si x = 8 → x /= 2 | 4.0 |
Operadors relacionals
| Operador | Significat | Exemple | Resultat |
|---|---|---|---|
| == | Igual | 5 == 5 | True |
| != | Diferent | 5 != 3 | True |
| < | Menor | 2 < 7 | True |
| <= | Menor o igual | 3 <= 3 | True |
| > | Major | 8 > 4 | True |
| >= | Major o igual | 6 >= 9 | False |
Operadors lògics
| Operador | Significat | Exemple | Resultat |
|---|---|---|---|
| and | Les dues condicions són True | True and False | False |
| or | Almenys una és True | False or True | True |
| not | Inverteix True/False | not True | False |