Capítol 2

Variables

Fins ara, cada valor que mostràvem amb print() era escrit directament al codi. Ara aprendrem a guardar valors perquè els puguem reutilitzar. El lloc on guardem un valor s'anomena variable.

Què és una variable

Una variable és com una capsa amb un nom. Hi poses un valor a dins, i després pots fer servir el nom per recuperar-lo. Per crear una variable, escrius el nom, el signe = i el valor:

El signe = en programació no vol dir «és igual a», sinó que vol dir «guarda aquest valor amb aquest nom». Primer es calcula el que hi ha a la dreta del =, i després es guarda amb el nom de l'esquerra.

Noms de variables

Pots triar el nom que vulguis per a una variable, però hi ha unes regles:

  • Només pot contenir lletres, números i guions baixos (_).
  • No pot començar per un número.
  • No pot ser una paraula reservada de Python (com if, for, print).
  • Les majúscules i minúscules es tenen en compte. Per exemple, Nom i nom són variables diferents.

Per convenció, els noms de variables en Python s'escriuen en minúscules, amb guions baixos si tenen diversos mots: nom_alumne, edat_maxima, total_punts. Aquesta convenció s'anomena snake_case i és un estàndard mundial.

Fixa't com podem passar variables directament a print(), barrejades amb text literal, separant-les per comes.

Tipus de dades

No tots els valors són iguals. Python distingeix entre diversos tipus:

  • int — nombre enter: 42, -7, 0
  • float — nombre amb decimals: 3.14, -0.5, 2.0
  • str — cadena de text (string): "Hola", 'Python'
  • bool — cert o fals: True, False

Pots preguntar a Python de quin tipus és un valor amb la funció type():

De moment, els tipus que més faràs servir són enters i cadenes de caràcters: int i str.

Les variables poden canviar

Una variable es diu «variable» precisament perquè el seu valor pot variar. Pots assignar-li un nou valor en qualsevol moment — el valor anterior serà subtituït.

L'última línia és especialment important: x = x + 5. Primer calcula x + 5 (que és 25 + 5 = 30), i després guarda el resultat a x. No és una equació matemàtica, sinó que és una assignació «calcula i desa».

Barrejar text i variables: f-strings

Passar molts valors a print() separats per comes funciona, però queda una mica desmanegat. Python té una eina millor: les f-strings. Posa una f davant de les cometes i pots inserir variables directament dins del text amb claus {}:

Compara els dos mètodes:

# Sense f-string (més confús)
print(nom, "té", edat, "anys")

# Amb f-string (més clar)
print(f"{nom} té {edat} anys")

Dins de les claus {} pots posar qualsevol expressió, no només noms de variables:

Dins de les claus {} també pots afegir un format especial per als números. El més útil és :.2f, que força que un decimal sempre es mostri amb exactament 2 xifres decimals — ideal per a preus i mesures:

El :.2f es llegeix com «format de coma flotant amb 2 decimals». El número s'arrodoneix automàticament si cal. Tingues en compte que, encara que diguem coma flotant, en Python s'usa el punt decimal en lloc de la coma decimal.

Errors típics amb variables

L'error més freqüent és intentar fer servir una variable que no existeix (perquè t'has equivocat en el nom, o perquè no l'has creada). Executa l'exemple i observa l'error:

El nom missatje (amb jota) i missatge (amb ge) són variables diferents. Python no pot endevinar què volies dir — per això és important escriure els noms amb cura.

Corregeix l'error perquè el programa funcioni.

Exercici

Crea tres variables: nom amb el valor "Ada", edat amb el valor 16, i llenguatge amb el valor "Python". Després, fes servir una f-string per imprimir exactament aquesta frase:
Em dic Ada, tinc 16 anys i estic aprenent Python

Resum

  • Una variable desa un valor: x = 42.
  • El signe = vol dir «desa», no «és igual a».
  • Python té diversos tipus: int, float, str, bool.
  • Les f-strings permeten barrejar text i variables: f"Hola, {nom}". Amb :.2f pots controlar els decimals: f"{preu:.2f} €".
  • Les variables poden canviar de valor: x = x + 1.