【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment

2021/5/6 20:27:18

本文主要是介绍【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

topNSuccessor=None
def reverseTopN(self, head: ListNode, right: int) -> ListNode:
	if right==1:
		topNSuccessor=head.next
        return head

执行此代码报错:UnboundLocalError: local variable ‘XXX’ referenced before assignment

错误: UnboundLocalError:在赋值之前引用了局部变量“XXX”

原因: 在函数内部对变量赋值进行修改后,该变量就会被Python解释器认为是局部变量而非全局变量,当程序执行到topNSuccessor=head.next的时候,此操作是给topNSuccessor赋值,topNSuccessor则被认为是局部变量,而解释器在函数内部找不到topNSuccessor的定义,自然报错
解决方式: 在函数内部,给变量添加global修饰符,声明此变量为全局变量

topNSuccessor=None
def reverseTopN(self, head: ListNode, right: int) -> ListNode:
	global topNSuccessor #全局变量
	if right==1:
		topNSuccessor=head.next
        return head


这篇关于【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程