2019-04-09 全局变量与局部变量

2019-04-09  本文已影响0人  _BlueBunnyBO_

起因:我在一段代码中声明了一个全局变量best_accuracy,在一个函数中用到了这个变量if accuracy>best_accuracy,但是运行时报错“UnboundLocalError: local variable 'best_accuracy' referenced before assignment”。说明此处的best_accuracy被python当作函数中的局部变量了

调查:在python中,当函数中的某变量可能是指全局变量,也可能是指局部变量时,就会发生引用歧义。这时python默认这个变量是局部变量。如果想将其当作全局变量使用,需要加global关键字声明这是全局变量,例如:

global best_accuracy

if accuracy>best_accuracy:

    best_accuracy = accuracy

详见python 全局变量引用与修改 - yanfengt - 博客园

上一篇 下一篇

猜你喜欢

热点阅读