提问人:user22853097 提问时间:11/3/2023 最后编辑:user22853097 更新时间:11/3/2023 访问量:60
为什么 Python 函数将列表视为没有全局关键字 [duplicate] 的全局变量
Why do Python functions treat lists as global variables without the global keyword [duplicate]
问:
为什么 python 允许我在函数中更改列表的值,而无需传递列表或将其声明为全局变量。例如,如果我输入以下内容:
def change_list():
list1[0]=100
return 0
list1=[0]
print(list1[0])
change_list()
print(list1[0])
至少在我的笔记本中,我非常惊讶地看到第一个给出 0,第二个给出 100,并且没有错误。我不明白为什么如果函数没有作为参数或声明给出,则允许更新该函数。允许这样访问是否有充分的理由?这似乎与我读过的有关该主题的其他帖子背道而驰,并且感觉有点危险,所以我很困惑。print
list1
list1
global list1
答: 暂无答案
上一个:将对象存储在静态 Box 中,然后作为可变对象进行检索?
下一个:对象与基元
评论