Я прочитал этот код (приведенный ниже) и понял, что если переменная объявлена глобальной внутри функции и если она изменена, ее значение изменится навсегда .
x = 15
def change():
global x
x = x + 5
print("Value of x inside a function :", x)
change()
print("Value of x outside a function :", x)
Вывод:
Value of x inside a function : 20
Value of x outside a function : 20
Но приведенный ниже код показывает другой вывод. Как так получилось, что значение x не меняется внутри print("After making change: ", x)
и остается 15
def add():
x = 15
def change():
global x
x = 20
print("Before making changes: ", x)
print("Making change")
change()
print("After making change: ", x)
add()
print("value of x",x)
Вывод:
Before making changes: 15
Making change
After making change: 15
value of x 20