更改函数外部变量的值

时间:2020-05-26 20:39:26

标签: python function

我想在函数的帮助下递增p并在另一个函数中使用它,例如

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

在这段代码中,我想多次运行函数后使用p的值。

函数中“ print()”和“ return”的输出符合预期,但我也需要更改p的值。我如何也可以更改p的值? 我试图使用另一个变量来获取p的值,但是没有用。

2 个答案:

答案 0 :(得分:0)

您的代码可以正常工作。

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

但是我建议将p变量放在()中,这样可以使代码更简洁,并且可以防止在更大和更复杂的系统中出现更多错误和错误。
编码愉快!

答案 1 :(得分:0)

让函数像您实现的那样操作全局值通常不是要走的路。由于您或合作的程序员可以从任何地方调用此函数,因此可能会在脚本的不同区域中更改您依赖的变量。此外,您可能希望能够使用相同的函数来递增不同的变量。

因此最好采用这样的解决方案:

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

p= 0
p = increment(p)
print(p)