[Python] 遇到了一个有意思的bug,UnboundLocalError: local variable 'f' referenced before assignment

在如下的代码段竟然报错UnboundLocalError: local variable 'f' referenced before assignment原来是函数内部有语句with open as f,将f写入了符号表,第二遍解释器进行解读的时候在局部符号表中查到有f,但是f的使用行数比定义行数要早,所以报错了。

f=Forword()
...
def test():
    f.load_state_dict(checkpoint['f'])
...
    with open() as f:

你可能感兴趣的:([Python] 遇到了一个有意思的bug,UnboundLocalError: local variable 'f' referenced before assignment)