我的代码目前看起来像:
import modules
class
functions
main code block (if __name__ == "__main__":)
在整个程序中我想添加一个计数器。 我的想法是添加
global counter
counter = 0
然后通过程序添加到计数器。问题是,当我开始在函数中添加计数器时,我将全局命令放在哪里并不重要,它不会重新调整变量。
放置全局命令的正确位置在哪里(即程序开始等)以及实现此目的的正确方法是什么(是使用全局命令还是可能通过使用类?
非常感谢,
请您参考如下方法:
您需要将全局命令放在每个 需要重新绑定(bind)全局变量的函数中。
您不需要将它放在只读取全局变量或改变值但不重新绑定(bind)它的函数中。您不需要将其放在函数之外。
整数是不可变的,因此您需要在更新计数器的任何函数中使用 global counter。如果您使用可变对象,那么您根本不需要使用 global。例如
class Counter:
def __init__(self):
self.value = 0
counter = Counter()
def someFunction():
counter.value += 1
甚至使 someFunction 成为类的方法。
global 关键字(以及较新版本的 Python 上的 nonlocal)仅影响当前范围。
