gpt4 book ai didi

python - Python中global关键字的使用

转载 作者:行者123 更新时间:2023-11-28 21:32:55 24 4
gpt4 key购买 nike

我有一个简单的Python脚本,它只是将从列表列表中取出的两个数字相乘,然后将结果发送到另一个函数,然后将它们附加到列表中。下面是相同的代码:

results = []

def check_results(result):
results.append(result)

def multiply(x, y):
return x * y

if __name__ == "__main__":
numbers = [[1,1], [2,2], [3,3]]
for x, y in numbers:
check_results(multiply(x, y))
print(results)

我的问题是,在将它们添加到超出其范围的结果列表之前,我们是否应该在 check_results 函数中使用 global 关键字?

换句话说,整个代码不应该是这样的吗?

results = []

def check_results(result):
global results
results.append(result)

def multiply(x, y):
return x * y

if __name__ == "__main__":
numbers = [[1,1], [2,2], [3,3]]
for x, y in numbers:
check_results(multiply(x, y))
print(results)

如果我的理解有误,有人可以告诉我 global 关键字应该用来做什么吗?

最佳答案

Python

  • 在本地范围内写入
  • 从本地范围读取,如果失败,则从全局范围读取

因此,如果您想分配全局results变量,则必须使用global results,以指定您的意思是全局变量。

但是,由于您读取结果,并且函数中不存在此类变量,因此会查找全局变量。

请注意,虽然您附加到 results 引用的列表,但您并没有更改实际的 results 变量本身,因此您所做的不被视为写入.

关于python - Python中global关键字的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55535322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com