首页 > 解决方案 > 分配前的参考(呼叫在即时窗口中起作用)

问题描述

我有一个 .py 配置文件,它设置了一组全局变量。其中有一个变量叫做nMin。kNeighbors 是另一个以与 nMin 完全相同的方式定义的全局变量。块中包含的所有其他变量都是局部变量

for i in range(PopLength):
    noveltyMetric[i] = np.average(behavior[i][0:kNeighbors])
    if noveltyMetric[i] > nMin:
        ...

在循环中,程序引用 kNeighbors 没有问题,但在下一行我得到错误:

赋值前引用的局部变量‘nMin’”

我在 PTVS 2017 中运行它,当它停止并显示错误(在该行暂停时)时,我在“立即窗口”中调用 nMin,它正确调用该值而没有错误。当我调用该语句noveltyMetric[i] > nMin时,它返回一个没有错误的布尔值。但由于某种原因,它仍然无法执行代码中的行,并坚持我在定义它之前引用它。

标签: python

解决方案


推荐阅读