首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

关于python中全局变量和局部变量的一个问题

众所周知,全局变量和局部变量可以说是泾渭分明,如 a = 10 def test(): a = 20 print(a) test() #将输出局部变量a print(a) # 将输出全局变量a #答案是: 20 10 函数内部的局部变量a,并不会影响全局变量a 但是假设为列表或字典呢? my_list = [10] def list_test(): my_list=[] my_list.append(20) print(‘函数的’,my_list) list_test() print(my_list) 答案为:函数的 [20] [10] 仍然符合局部变量并不会影响全局变量 注意:假设为一个空的列表或字典 my_list = [] def list_test(): my_list.append(20) print(‘函数的’,my_list) list_test() print(my_list) 答案:函数的 [20] [20] 这里为何是20,而不是[]? 个人见解:函数内部无my_list这个列表,因此他将会调用全局变量my_list列表,然后把元素放在了列表中,改变的是全局变量,又或是因为是容器? 望大佬们积极解惑,不胜感激

02
领券