Python 更改函数外部变量的值
我想在函数的帮助下增加Python 更改函数外部变量的值,python,function,Python,Function,我想在函数的帮助下增加p,并在另一个函数中使用它,例如 p=0 def o(): 全局p p+=1 印刷品(p) 返回(p) 在这段代码中,我想在多次运行函数后使用p的值 函数中“print()”和“return”的输出与预期一致,但我需要p的值也改变。如何更改p的值? 我尝试使用另一个变量来获取p的值,但没有成功。您的代码工作正常 p = 0 def o(): global p p += 1 print(p) # -> 0 o() print(p) # -> 1
p
,并在另一个函数中使用它,例如
p=0
def o():
全局p
p+=1
印刷品(p)
返回(p)
在这段代码中,我想在多次运行函数后使用p
的值
函数中“print()
”和“return
”的输出与预期一致,但我需要p
的值也改变。如何更改p
的值?
我尝试使用另一个变量来获取p
的值,但没有成功。您的代码工作正常
p = 0
def o():
global p
p += 1
print(p) # -> 0
o()
print(p) # -> 1
但是我建议将p变量放在()中,这将使代码更简洁,并且可以在更大、更复杂的系统中防止更多错误和bug。快乐编码 让一个函数像您所实现的那样操纵全局值通常不是一个好办法。由于此函数可以由您或来自任何地方的协作程序员调用,因此这可能会改变脚本不同区域中依赖的变量。此外,您可能希望能够使用相同的函数来增加不同的变量 因此,这样的解决方案更可取:
def increment(value_to_increment):
value_to_increment += 1
return value_to_increment
p= 0
p = increment(p)
print(p)
你几乎肯定不想这样做
global
大致从python翻译为“灾难”。我同意使用global
可能不是一个好主意。您当然不需要使用全局变量并返回值。但我不明白你到底有什么问题。我输入了你的精确函数,多次调用它,p
的值按预期更改。你能更好地解释你的问题吗?你想得到什么?