/
Вопросы и ответы
/
Python
/

Как изменить значение переменной в функции в Python?

Как изменить значение переменной в функции в Python?

3 года назад

Andrey Moshkov

Ответы

1

Я бы попробовал следующие пару вариантов:

Использование ключевого слова global. Если переменная определена в глобальной области видимости, вы можете использовать ключевое слово global для изменения ее значения внутри функции. Например:

x = 1 def my_function(): global x x = 2 my_function() print(x) # 2

Возврат измененного значения. Функция может возвращать измененное значение переменной, которое затем можно присвоить исходной переменной. Например:

def increment(x): return x + 1 x = 1 x = increment(x) print(x) # 2

3 года назад

Алексей Алешин

0

В Python изменение значения переменной в функции зависит от типа переменной и способа ее использования.

Для изменения локальной переменной внутри функции просто присвойте ей новое значение:

def change_local():
    x = 10
    # Изменяем локальную переменную
    x = 20
    # Выведет 20
    print(x)

Для изменения глобальной переменной испольуем ключевое слово global:

x = 10
def change_global():
    global x
    # Изменяем глобальную переменную
    x = 20

Для изменения переменной во внешней функции используем nonlocal:

def outer():
    x = 10
    def inner():
        nonlocal x
        # Изменяем переменную из внешней функции
        x = 20
    inner()
    # Выведет 20
    print(x)

Важно добавит, что изменение глобальных переменных может сделать код более подверженным ошибкам. Старайтесь не использовать глобальные переменные насколько это возможно.

год назад

Ivan Mamtsev