[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:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。