Una variable local se declara en su ámbito de uso (en el programa principal y dentro de una función) y una global fuera de su ámbito para que se pueda utilizar en cualquier función que la declare como global.
# Define función def acelerar(): # Declara la variable 'km' como global # Ahora se podrá utilizar dentro de la función global km # Declara variable local (ámbito función) tiempo = 1 # Se incrementa la velocidad en 5 km km+= 5 # Define variable local (ámbito programa principal) km = 10 # Muestra variable 'km' print('Velocidad:', km) # velocidad: 10 # Llama a la función acelerar() acelerar() # Muestra variable 'km' print('Velocidad:', km) # velocidad: 15 # Intenta mostrar la variable 'tiempo' # Se produce una excepción (error) de tipo NameError # porque la variable no pertenece a este ámbito: # NameError: name 'tiempo' is not defined print('Tiempo:', tiempo)
Relacionado:
Diccionarios de variables locales y globales
Ir al índice del tutorial de Python