En CircuitPython no es defineixen les variables. Una variable es crea en el moment en el que se li assigna un contingut, que pot anar variant al llarg del programa. No té sentit, doncs, parlar de tipus de variables; en tot cas podem parlar del tipus que correspon al contingut d'una variable en un moment concret.
La funció type ens permet saber el tipus de les dades que hi ha en una variable. Per exemple:
a = 12 b = 23.126 c = "hola" print(type(a)) # Escriurà: <class 'int'> print(type(b)) # Escriurà: <class 'float'> print(type(c)) # Escriurà: <class 'str'>
És un error utilitzar una variable si encara no se li ha donat contingut.
Les variables que es creen en el programa són globals i, per tant, es poden fer servir a qualsevol lloc del programa. En canvi, les variables que es creen en una funció són locals i no es poden fer servir fora d'aquesta.
w = 2 # w és una variable global
def funci(m): # El paràmetre m és una variable local
k = 3 # k és una variable local, només existeix a la funció
print(k + w) # Escriurà: 5
...
...
print(w) # Escriurà: 2
print(k) # Això és un error, k no existeix fora de la funció
...
Cal vigilar si es fa servir el un nom per a una variable local que ja existeix com a variable global, ja que es tracten com a dues variables diferents.
w = 2 # w és una variable global
def funci(m): # El paràmetre m és una variable local
w = 4 # Hi ha una variable local que es diu w
k = 3 # k és una variable local, només existeix a la funció
print(k + w) # Escriurà: 7, ja que agafa la w local
...
...
print(w) # Escriurà: 2, ja que agafa la w global
print(k) # Això és un error, k no existeix fora de la funció
...
És una bona idea, però, evitar donar a les variables locals noms que ja existeixen com a globals.
Imaginem, però, que en realitat volíem modificar el valor de la variable global w. Llavors cal dir-li que la w que fem servir dins de la funció és la global.
w = 2 # w és una variable global
def funci(m): # El paràmetre m és una variable local
global w # Cada cop que fem servir w dins la funció ens estarem referint a la variable global
w = 4 # Canviem el valor de la variable global w
k = 3 # k és una variable local, només existeix a la funció
print(k + w) # Escriurà: 7
...
...
print(w) # Escriurà: 4, ja que la variable global ha estat modificada
print(k) # Això és un error, k no existeix fora de la funció
...

Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.