给定两个文件A.py和B.py,A导入B.py并调用其中定义的函数'foo'。如果'foo'需要一个全局变量来跟踪自己,应该如何定义它? 谢谢
答案 0 :(得分:1)
在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
根据您的意图,您所寻找的不是功能而是generator function。