【发布时间】:2021-12-27 12:43:42
【问题描述】:
我想创建一个简单的计数器,所以我创建了这个函数:
count = 0
def add(count):
count += 1
print(count)
如果重新调用,计数会上升到 1,但如果我再次调用它,它会保持在 1。 调用后我还尝试在函数外部输出计数变量,但这导致输出恒定为 0
【问题讨论】:
-
将你的函数改为
return count而不是打印它,像这样调用你的函数:count=add(count),然后在调用add()之后print (count)。函数内部的count是函数本地的不同变量。 -
所以我也可以将
count声明为全局变量,对吧? -
你可以,但不要。
-
在技术上可以将函数内的变量声明为全局变量 (stackoverflow.com/questions/423379/…),但最好避免这种情况,因为它会导致混淆。让函数简单地返回一个值是更好的做法。