开发者社区> 问答> 正文

UnboundLocalError: local variable referenced 报错怎么解

已解决

image.png

显示UnboundLocalError: local variable 'val' referenced before assignment

但是代码改成下面这样

image.png

就不报错,但是这2者都是return val,没有区别呀,为什么呢?

展开
收起
我是小美女 2021-10-20 11:20:43 538 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,val = 1 定义了一个新的变量,于是在函数中对 val 的引用就不是全局的 val 了,而是函数里那个 val 。但是,在 return 的时候并没有对它赋值,于是就出错了。

    可以在函数里加一行 global val ,这样所有对 val 的引用(包括 val = 1)就都是全局的了。

    2021-10-20 11:23:41
    赞同 2 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载