Python中文
首页
教程
问答
标签
搜索
登录
注册
UnboundLocalError:int vs lis
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我知道这个错误消息已经被讨论了很多,但我还没有找到以下解释:</p> <pre><code>def random2(seed): x = seed def update(): x = ( x * 16807 ) % 2147483647 return x return update r = random2(17283945) print(r()) </code></pre> <p>这不起作用,因为返回函数[UnboundLocalError]会丢失变量x的作用域。好 啊。但现在我发现这绝对没有问题</p> <pre><code>def random(seed): x = [seed] def update(): x.append(( x.pop() * 16807 ) % 2147483647 ) return x[0] return update r = random(17283945) print(r()) #580971270 print(r()) #1923475628 print(r()) #1783541505 </code></pre> <p>我有点困惑,为什么在这种情况下,x的作用域仍然有效。这似乎与(im)易变性有关,但这对我来说仍然没有多大意义。你知道吗</p> <p>非常感谢。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>当您在变量名后面放置赋值运算符(<code>=</code>)时,该变量将自动假定为局部变量。因为你试图在赋值之前引用它,所以你得到了错误。你知道吗</p> <p>在第二个示例中,您从未将变量<code>x</code>赋给任何对象,只是对其进行了适当的变异。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
4 回答
Jupyter运行不同版本的卸载库?
10 回答
Jupyter运行指定的键盘快捷键
3 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
4 回答
Jupyter重新加载自定义样式
5 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
6 回答
jupyter错误:无法在随机林中将决策树视为png
3 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
9 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
3 回答
Jupyter隐藏数据帧索引,但保留原始样式
9 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
7 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
9 回答
Jupy上Python的读/写访问问题
5 回答
jupy上没有模块cv
8 回答
Jupy上的排序错误
4 回答
Jupy中bqplot图形的紧凑布局
9 回答
Jupy中matplotlib plot的连续更新
6 回答
Jupy中Numpy函数的文档
4 回答
Jupy中Pandas的自动完成问题
8 回答
jupy中Qt后端的Matplotlib动画
8 回答