如何解决Python-为变量分配值
我有一种情况,如果变量初始值是None,我需要给它赋值。
def sample(val,node):
if node == None:
node = val
else:
pass
if __name__ == "__main__":
arr = [1,2]
node = None
for x in range(len(arr)):
sample(arr[x],node)
在第一个迭代节点中为“无”,因此分配了一个值。现在,已为节点分配了一个值。第二次迭代时,它仍然作为None传递。是因为它作为参数传递给了样本函数。
我尝试如下删除节点参数。
node = None
def sample(val):
if node == None:
node = val
else:
pass
if __name__ == "__main__":
arr = [1,2]
for x in range(len(arr)):
sample(arr[x])
这会引发错误提示
UnboundLocalError:分配前已引用本地变量“节点”
节点第二次迭代时必须具有值1。要达到这个目的需要做什么?
解决方法
你是说
node = None
def sample(val):
global node
if node is None:
node = val
else:
pass
if __name__ == "__main__":
arr = [1,2]
for x in range(len(arr)):
sample(arr[x])
print(node)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。