给定两个文件 A.py 和 B.py,A 导入 B.py 并调用其中定义的函数 'foo'。如果 'foo' 需要一个全局变量来跟踪自身,它应该如何以及在哪里定义?谢谢
问问题
45 次
在B.py
中,因为这是 的全局范围foo()
:
var = 0
def foo():
global var
#use var here
但如果foo()
需要一个变量来跟踪某事,它可能应该是类中的方法(具有状态的函数并不是真正的函数)。
另一种解决方案是添加一个foo.var
变量:
def foo():
'use foo.var here'
# things
foo.var = 0
根据您的意图,您正在寻找的可能不是函数而是生成器函数。