赋值之前引用的本地(?)变量[重复]

发布于 2021-01-29 14:57:39

这个问题已经在这里有了答案

从父函数分配给变量:“分配前引用的局部变量” [重复] (5个答案)

Python 3:UnboundLocalError:分配前被引用的局部变量[重复]

(5个答案)

10个月前关闭。

test1 = 0
def testFunc():
    test1 += 1
testFunc()

我收到以下错误:

UnboundLocalError:分配前已引用局部变量“ test1”。

错误说那'test1'是局部变量,但我认为这个变量是全局变量

那么它是全局的还是局部的,以及如何在不将globaltest1作为参数传递给的情况下解决此错误testFunc

关注者
0
被浏览
87
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    为了test1在函数内部进行修改,您需要将其定义test1为全局变量,例如:

    test1 = 0
    def testFunc():
        global test1 
        test1 += 1
    testFunc()
    

    但是,如果只需要读取全局变量,则可以不使用关键字进行打印global,就像这样:

    test1 = 0
    def testFunc():
         print test1 
    testFunc()
    

    但是,每当需要修改全局变量时,都必须使用关键字global



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看