Python 报错 UnboundLocalError: local variable ‘xxx‘ referenced before assignment
目录
1. 错误信息
2. 解决办法
1. 错误信息
UnboundLocalError: local variable 'xxx' referenced before assignment
即:在赋值之前引用了局部变量'xxx'
引发错误的代码:
import numpy as npclass MarkovChain:def __init__(self, init_status: np.array, transfer_matrix: np.array) -> None:self.init_status = init_statusself.transfer_matrix = transfer_matrixdef get_status(self, transfer_num: int) -> np.array:intermediate_statue = self.init_statusfor _ in range(transfer_num):current_status = np.dot(intermediate_statue, self.transfer_matrix)intermediate_statue = current_statusreturn current_statusif __name__ == "__main__":t0 = np.array([0.3, 0.2, 0.5])matrix = np.array([[0.8, 0.15, 0.05], [0.2, 0.45, 0.35], [0.1, 0.5, 0.4]])markov = MarkovChain(t0, matrix)for i in range(10):print(markov.get_status(i))
报错:
UnboundLocalError: local variable 'current_status' referenced before assignment
2. 解决办法
由于是在赋值之前引用了局部变量,则
import numpy as npclass MarkovChain:def __init__(self, init_status: np.array, transfer_matrix: np.array) -> None:self.init_status = init_statusself.transfer_matrix = transfer_matrixdef get_status(self, transfer_num: int) -> np.array:current_status = self.init_statusfor _ in range(transfer_num):current_status = np.dot(current_status, self.transfer_matrix)return current_statusif __name__ == "__main__":t0 = np.array([0.3, 0.2, 0.5])matrix = np.array([[0.8, 0.15, 0.05], [0.2, 0.45, 0.35], [0.1, 0.5, 0.4]])markov = MarkovChain(t0, matrix)for i in range(10):print(markov.get_status(i))
就没问题了。
Python 报错 UnboundLocalError: local variable ‘xxx‘ referenced before assignment相关推荐
- python报错:local variable ‘xxx‘ referenced before assignment
错误原因:全局变量和局部变量的混淆 解决办法:在局部调用前,把变量global.如下图
- 练习ddt-file_data时,报错UnboundLocalError local variable ‘value‘ referenced before assignment
错误原因就是,在xx.yml中的内容无效 更改之前: 更改之后: 注意冒号后面要有空格 改完之后运行就能正确读取到了
- 解决Python报错:local variable ‘xxxxx‘ referenced before assignment
解决方法 在函数中使用global 变量的方法声明使用的这个变量是全局变量 问题解析 这是因为在希望修改全局变量时修改的是局部变量 比如: def add():a += 1a = 1 add() pr ...
- UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法
一.举例: 计算a到10的和 sum=0 def func(a):while a<=10:sum+=aa+=1return sum print(func(9)) 运行结果: UnboundLoc ...
- Python函数定义变量报错:local variable ‘a‘ referenced before assignment
Python 全局变量与global关键字 在Python的变量使用中,经常会遇到这样的错误: local variable 'a' referenced before assignment 它的 ...
- 【报错】UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法
参考这篇 https://blog.csdn.net/YZL40514131/article/details/122082820
- python UnboundLocalError: local variable 'log_f' referenced before assignment 错误
在写一个python程序,用finally处理异常的时候,报了"UnboundLocalError: local variable 'log_f' referenced before ass ...
- UnboundLocalError: local variable ‘a‘ referenced before assignment(Python报错解决)
问题提出 使用Python编程的时候,要注意函数内可以访问全局变量,但不能更新(修改)其值. 比如: a = 10 def sum ( n ) :n += aprint ('a = ', a, end ...
- Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment
UnboundLocalError: local variable 'xxx' referenced before assignment 原因分析:函数使用时,没有定义. 解决方法:查看报错的变量是否 ...
- python的UnboundLocalError: local variable 'xxx' referenced before assignment
From: http://blog.sina.com.cn/s/blog_8d3652760101d01p.html 一.意思: 本地变量xxx引用前没定义. 二.错误原因 在于python没有变量的 ...
最新文章
- colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测
- 傅莹:AI 治理,需要借鉴「核管控」教训
- 从Storm和Spark 学习流式实时分布式计算的设计
- terminal怎么运行c语言文件,在mac电脑的terminal里该如何运行c语言
- AI理论知识整理(8)-素数与最大公因数
- Java forEach中 Lambda Expr中的 final变量要求
- Django基本命令
- ZooKeeper 这么牛逼,基本原理你懂吗?
- dell optiplex 7090 ssf 注入intel i219 网卡驱动安装exsi 7.0.2
- easypr最新Linux,easyPR基本使用
- 怎么发语音短信?互亿无线语音通知接口产品特性介绍
- Python | 使用Socks5
- StandUp 定时休息软件
- wifi共享代码实践java_笔记本实现共享wifi上网
- notepad集成jsonviewer 查看json
- C++构造与析构(12) - copy elision编译器优化
- 自封装验证手机号码、邮箱格式、身份证号的工具
- Linux内核裁剪机制优化(make menuconfig)
- telegram怎么搜索机器人_telegram机器人
- 【keepass】密码管理软件keepass的安全风险分析,如何在使用keepass的过程中避免泄露数据库信息和密码?