NameError用于导入random和numpy.random,但没有别的

时间:2018-03-29 23:18:40

标签: python python-3.x random package packages

我在Python代码中遇到了一个奇怪的情况,我正试图弄清楚为什么会这样。

init(CGImage, orientation: CGImagePropertyOrientation, physicalWidth: CGFloat)

当我运行上面的代码时,我得到以下NameError:

rounds = 10
probability = 100
items = [1, 2, 3, 4, 5]
from numpy.random import uniform
for r in range(1, rounds):
    sample = {item: uniform() < probability for item in items}

这很奇怪,因为我在以下行中使用之前直接导入制服。我使用File "sample.py", line 6, in <module> sample = {item: uniform() < probability for item in items} File "sample.py", line 6, in <dictcomp> sample = {item: uniform() < probability for item in items} NameError: name 'uniform' is not defined 模块得到了同样的错误。我在我的代码中使用了其他包(包括randomargparse),但只有随机数生成给了我错误。我在Windows机器上运行Python 3。当我在pickle循环中移动import语句时,我也会收到同样的错误。

for

可能导致此错误的原因是什么?

编辑:我遇到了另一个有趣的现象。以下代码块为rounds = 10 probability = 100 items = [1, 2, 3, 4, 5] for r in range(1, rounds): from numpy.random import uniform sample = {item: uniform() < probability for item in items} 提供了相同的NameError

uniform

......和......

from numpy.random import uniform
sample = {item: uniform() for item in [1,2,3]}

但是,以下代码不会为from numpy.random import uniform sample = [uniform() for item in [1,2,3]] 提供NameError

uniform

Python处理字典/列表理解的方式似乎有些东西使得前两个代码块非法,但第三个代码块没问题。

0 个答案:

没有答案