изменить значение переменной вне функции - PullRequest
0 голосов
/ 26 мая 2020

Я хочу увеличить p с помощью функции и использовать его в другой функции, например

p = 0
def o():
    global p
    p += 1
    print(p)
    return(p)

В этом коде я хочу использовать значение p после выполнения функции multi раз.

Результат из «print()» и «return» в функции соответствует ожидаемому, но мне нужно изменить значение p. Как я могу изменить и значение p? Я попытался использовать другую переменную, чтобы получить значение p, но это не сработало.

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Когда функция управляет глобальным значением, как вы реализовали, это обычно не путь к go. Поскольку эта функция может быть вызвана вами или вашим сотрудником-программистом из любого места, это может изменить переменную, от которой вы зависите, в другой области вашего скрипта. Более того, вы можете захотеть использовать одну и ту же функцию для увеличения разных переменных.

Поэтому такое решение было бы предпочтительнее:

def increment(value_to_increment):
    value_to_increment += 1
    return value_to_increment

p= 0
p = increment(p)
print(p)
0 голосов
/ 26 мая 2020

Ваш код работает нормально.

p = 0
def o():
    global p
    p += 1
print(p) # -> 0
o()
print(p) # -> 1

Но я бы рекомендовал поместить переменную p внутри (), чтобы сделать код более чистым, и вы можете предотвратить больше ошибок и ошибок в более крупных и сложных систем.
Удачного кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...