如何定义要在导入文件的函数中使用的全局变量?

时间:2013-07-03 01:24:51

标签: python

给定两个文件A.py和B.py,A导入B.py并调用其中定义的函数'foo'。如果'foo'需要一个全局变量来跟踪自己,应该如何定义它? 谢谢

1 个答案:

答案 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