当前位置: 首页 > 面试题库 >

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

郭建华
2023-03-14
问题内容

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

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

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

(5个答案)

10个月前关闭。

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

我收到以下错误:

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

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

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


问题答案:

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

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

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

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

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



 类似资料:
  • 问题内容: 我正在尝试使用XPATH定位器单击包含文本“ Clean feed crm”的span标签。我得到错误: 完整的错误跟踪: 如果我使用绝对完整的XPATH,则效果很好。相对的XPATH显示错误。 可以使用的完整绝对XPATH是: 相对的XPATH不起作用是: HTML是: 我的方法实现是: 从我的TestCase类,我调用方法: Globals.py是: 我也尝试过使用WebDrive

  • 我一筹莫展,我不知道是什么引起了这个问题。我所做的唯一更改是将loginquiredmixins添加到基于类的视图中。 当我开始设计登录页面时,我似乎弄坏了一些东西,但我不知道具体是什么,这是一个奇怪的想法,CSS或某些HTML会导致什么问题,对吗? 我尝试在语句之前赋值变量,并将其设置为,但这似乎不能正常工作,因为它会抛出错误。我使用的是基本的django认证系统。 我得到的确切错误是- “ 这

  • 本文向大家介绍详解PHP变量传值赋值和引用赋值变量销毁,包括了详解PHP变量传值赋值和引用赋值变量销毁的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PHP变量传值赋值和引用赋值变量销毁的具体代码,供大家参考,具体内容如下 php中,上面的代码,变量是怎么存放的呢? 上面的代码变动下,将变量b赋值给变量a,会发生什么? 问题来了,$a = $b,那么是将变量a的指针指向了变量b指针所

  • 问题内容: 浏览OpenJDK 8中的java.util.LinkedList代码,发现以下代码。该代码很简单,但是我对将对第一个节点的引用保存到第二行代码中的常量感到困惑。据我了解,此代码将内联到单行代码中,而无需引用复制。我对吗?如果是这样, 为什么在这种情况和类似情况下需要复制引用 (这种习语可能在java.util.LinkedList的一半方法中找到)? 我的第一个想法是,它以某种方式有

  • 新的打字/暗示/作业方式很酷,但我不知道如何让这么简单的事情起作用: 它抛出一个错误:。到目前为止,我发现的最好但非常丑陋的解决方法是: 请告诉我,具有#1原则的语言有更好的东西来解决这个常见的打字问题

  • 本文向大家介绍Shell脚本定义变量和重新赋值,包括了Shell脚本定义变量和重新赋值的使用技巧和注意事项,需要的朋友参考一下 Shell支持自定义变量。 定义变量 定义变量时,变量名不加美元符号($),如: 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: •首个字符必须为字母(a-z,A-Z)。 •中间不能有空格,可以使用下划线(_)。