Introducció
L'àmbit de les variables (també conegut com a "scope" en anglès) és un concepte fonamental en la programació que determina on una variable és accessible dins del codi. Comprendre l'àmbit de les variables és crucial per evitar errors i escriure codi clar i mantenible.
Tipus d'Àmbit
Àmbit Local
Les variables locals són aquelles que es defineixen dins d'una funció o bloc de codi i només són accessibles dins d'aquest context.
def funcio_exemple():
variable_local = 10
print(variable_local) # Accessible dins de la funció
funcio_exemple()
# print(variable_local) # Error: variable_local no està definida fora de la funcióÀmbit Global
Les variables globals es defineixen fora de qualsevol funció o bloc de codi i són accessibles des de qualsevol part del programa.
variable_global = 20
def funcio_exemple():
print(variable_global) # Accessible dins de la funció
funcio_exemple()
print(variable_global) # Accessible fora de la funcióÀmbit de Bloc
En alguns llenguatges de programació, com C++ o JavaScript, les variables poden tenir un àmbit de bloc, el que significa que només són accessibles dins del bloc de codi on es defineixen (per exemple, dins d'un bucle o una condició).
if (true) {
let variable_bloc = 30;
console.log(variable_bloc); // Accessible dins del bloc
}
// console.log(variable_bloc); // Error: variable_bloc no està definida fora del blocÀmbit de Variables en Funcions
Variables Locals
Les variables declarades dins d'una funció són locals a aquesta funció i no poden ser accedides des de fora.
def funcio_exemple():
variable_local = 10
print(variable_local)
funcio_exemple()
# print(variable_local) # Error: variable_local no està definida fora de la funcióVariables Globals
Per accedir a una variable global dins d'una funció, es pot utilitzar la paraula clau global en alguns llenguatges de programació.
variable_global = 20
def funcio_exemple():
global variable_global
variable_global = 30
print(variable_global)
funcio_exemple()
print(variable_global) # Sortida: 30Variables No Locals (Enclavament de Funcions)
En llenguatges que permeten l'enclavament de funcions, com Python, es pot accedir a variables de funcions externes utilitzant la paraula clau nonlocal.
def funcio_externa():
variable_externa = 40
def funcio_interna():
nonlocal variable_externa
variable_externa = 50
print(variable_externa)
funcio_interna()
print(variable_externa)
funcio_externa()
# Sortida:
# 50
# 50Exercicis Pràctics
Exercici 1: Variables Locals i Globals
- Defineix una variable global
xamb el valor 5. - Defineix una funció que imprimeixi el valor de
x. - Defineix una altra funció que canviï el valor de
xa 10 i després imprimeixix. - Crida les dues funcions i imprimeix
xdesprés de cada crida.
# Solució
x = 5
def imprimir_x():
print(x)
def canviar_x():
global x
x = 10
print(x)
imprimir_x() # Sortida: 5
canviar_x() # Sortida: 10
print(x) # Sortida: 10Exercici 2: Àmbit de Bloc (Només per Llenguatges amb Àmbit de Bloc)
- Defineix una variable
ydins d'un blocifi intenta imprimir-la fora del bloc. - Observa el comportament i explica per què es produeix un error (si és el cas).
// Solució
if (true) {
let y = 15;
console.log(y); // Accessible dins del bloc
}
console.log(y); // Error: y no està definida fora del blocResum
En aquesta secció, hem après sobre els diferents tipus d'àmbit de les variables: local, global i de bloc. També hem vist com les variables es comporten dins de les funcions i com podem accedir a variables globals i no locals. Comprendre l'àmbit de les variables és essencial per escriure codi clar i evitar errors comuns.
Amb aquests coneixements, estàs preparat per avançar al següent tema del curs.
Fonaments de la Programació
Mòdul 1: Introducció a la Programació
- Què és la programació?
- Història de la programació
- Llenguatges de programació
- Entorns de desenvolupament
