Кстати, вопрос не относится к Python3, если только новичок не озадачен названием. Это общий вопрос языка Python.
Вы должны понимать объем и природу переменных в Python. Переменные - это просто имена для хранения определенных значений, и их срок жизни находится в пределах области блока, в котором они определены, хотя переменная внутренней области видимости может получить доступ к переменной из внешней области видимости. Функция, которую вы определили, имеет свою собственную область действия и свой собственный стек для обслуживания, и вы передаете копию переменной в эту функцию.
Лучший способ справиться с этим - вернуть значение из функции, как указано в другом ответе.
Сказав, что, если вы действительно хотите получить доступ к переменной глобальным образом, вы можете сделать это следующим образом.
a = 200
def example(b):
global a
a = a - 25
example(a)
print a
Но это не одобряется и не очень хороший стиль. Есть еще один трюк, который вы используете, но он выходит за рамки начального уровня и выглядит следующим образом.
а = [200]
def example(a):
a[0] = a[0] - 25
example(a)
print a[0]
Вы можете легко совершать ошибки Если вы примете этот путь,
Но правильный путь для этого по-прежнему:
a = 200
def example(b):
return b - 25
print example(a)