Python变量外部函数

时间:2015-09-04 20:55:24

标签: python

我试图访问我的函数中的计数器变量,为什么它不起作用,我该如何解决它?

相关代码:

sum = 0
counter = 0

def newFibo(a, b) :
    if(counter > 4000000) :
        return

    c = a + b

    sum += c
    counter +=1
    newFibo(b,c)

newFibo(1,2)
print(sum)

错误:"本地变量'计数器'在分配之前引用"

2 个答案:

答案 0 :(得分:0)

您需要使用关键字global告诉python变量在当前函数之外。

所以,基本上,在global sum, counter之后添加def newFibo(a, b):

答案 1 :(得分:0)

在Python中,如果你想在函数中修改一个全局变量,你必须在函数内声明它为global

 def newFibo(a, b) :
    global counter, sum
    ..............

请注意,如果变量仅在函数内部读取但未修改,则不需要它。