Las variables en Python pueden ser globales o locales. Las variables globales son las que se definen fuera de una función, mientras que las variables locales son las que se definen dentro de una función.
Variable Global:
Una variable global es visible en todo el código, tanto dentro como fuera de las funciones.
```python
x = 10 # Esta es una variable global
def funcion(): print(x) # Aquí podemos acceder a la variable global x
funcion() # Esto imprimirá 10
```
Variable Local:
Una variable local solo es visible dentro de la función donde se define.
```python
def funcion():
y = 5 # Esta es una variable local
print(y)
funcion() # Esto imprimirá 5
print(y) # Esto dará un error porque y no está definido en el ámbito global
```
Uso de la palabra clave `global`:
Si desea modificar una variable global dentro de una función, puede usar la palabra clave `global`.
```python
x = 10 # Esto es una variable global
def funcion(): global x # Esto le dice a Python que queremos usar la variable global x x = 5 # Esto cambiará el valor de la variable global x
funcion()
print(x) # Esto imprimirá 5, ya que la variable global x fue modificado dentro de la función
```
Puede ser una buena práctica limitar el uso de variables globales siempre que sea posible, ya que pueden hacer que el código sea más difícil de seguir y dar lugar a errores inesperados. En su lugar, considere pasar variables a funciones como argumentos y devolverlas como resultados.