我有一个简单的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关键字应该用于什么?
答案 0 :(得分:5)
Python
因此,如果要分配全局results
变量,则必须使用global results
来指定您的意思是全局变量。
但是,由于您 read results
,并且函数中不存在此类变量,因此将查询全局变量。
请注意,尽管您将附加到results
所引用的列表中,但是您并不会更改实际的results
变量本身,因此您所做的不被视为写作。