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问题
使用登录请求.post导致“错误405不允许”
2 回答
使用登录进行Python web抓取
5 回答
使用登录进行抓取
4 回答
使用登录页面从网站抓取数据
2 回答
使用白色圆圈背景使图像更平滑
6 回答
使用百分位数删除Pandas数据帧中的异常值
7 回答
使用百分号进行Python字典操作
8 回答
使用百分比delimi的Python字符串模板
10 回答
使用百分比分割Numpy ndarray最有效的方法是什么?
10 回答
使用百分比分配和修改变量(计算)
9 回答
使用百分比单位绘制数据
7 回答
使用百分比在单个采购订单中组合不同的订单类型
2 回答
使用百分比将数据帧的子集与完整数据帧进行比较
8 回答
使用百分比形式的BBOX选项,而不是绝对像素PyScreenShot Python
2 回答
使用百分比登录列nam更新表
3 回答
使用百分比登录操作系统或者os.popen公司
8 回答
使用百分比计算:十进制还是可读?
5 回答
使用的dataset和dataloader加载数据时出错torch.utils.data公司. TypeError:类型为“type”的对象没有len()
3 回答
使用的Json无效json.dump文件在Python3
10 回答
使用的overwrite方法\r在python 3[PyCharm]中不起作用
10 回答