por que veo en algunos códigos que usan la palabra reservada global, para una variable que esta dentro de una función?

Pedro Alvarado Garcia
La palabra reservada
global
Checa este link, te ayudará a entender todo mejor: https://www.w3schools.com/python/python_variables_global.asp

Sebastián Andrade
Hola, el global keyword nos sirve para indicar que nos estamos refiriendo a una variable global, es decir que los cambios que haga dicha funcion en dicha variable afectaran a TODO el modulo en el que estas trabajando
num_of_funcs_called = 0 def foo(x): global num_of_funcs_called print(x + 2) num_of_funcs_called += 1 if __name__ == '__main__': foo(10)
por ejemplo en este codigo de arriba nuestra funcion declara que la variable num_of_funcs_called se usada de manera global, y cada vez que se ejecute foo le sume 1, si defines mas funciones en ese codigo y le agregas lo mismo y las ejecutas dentro del entry point y al final haces un print de num_of_funcs_called veras cuantas funciones fueron ejecutadas mientras tu programa estuvo corriendo, espero haberte ayudado

Carlos Guillermo Coello Valenzuela
eso se hace para que la función ocupe la variable global en lugar de definir una nueva variable