我是python的新手。我搜索了很多,但找不到发生这种情况的原因。谁能告诉我这两者之间的区别?
我的一般问题是,在功能中使用列表是通过引用而何时是按值?
我的test
函数作为引用调用,test2
作为值调用。
我知道在python中,一切都是一个对象,但有了这个,我无法理解其中的区别。 TNX
def test(my_list):
for i in range(len(my_list)):
my_list[i] = 5
def test2(my_list1):
my_list1 = [6, 6, 6]
a = [4, 4, 4]
print(a)
test(a)
print(a)
test2(a)
print(a)
输出:
[4, 4, 4]
[5, 5, 5]
[5, 5, 5]