我写了这段代码:
sample_array = ones ([N, 3], dtype = float)
def get_training_set ():
r = rand (N, 2) * 2 - 1
sample_array[:,[0,1]] = r
return sample_array
我在外面声明了采样数组,为了不一直分配它,只是为了修改它——最后一个坐标总是1。
最初我希望我必须在函数中插入一个语句“global sample_array”,因为我修改了它,因此评估器应该知道它是一个全局变量。
但是,令我惊讶的是,它在没有“全局”的情况下运行良好。为什么它有效?在这种情况下,评估的定义在哪里/是什么?