MST
星途 面试题库

面试题:Python函数参数传递方式之列表传递行为

在Python中,定义一个函数,函数接收一个列表作为参数,在函数内部修改列表的第一个元素,然后在函数外部打印这个列表,说明为什么会出现这样的打印结果,并阐述Python函数对于列表这种可变对象的参数传递方式。
15.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def modify_list(lst):
    lst[0] = '修改后的值'
    return lst

my_list = [1, 2, 3]
result = modify_list(my_list)
print(result)

打印结果说明:在函数外部打印的列表第一个元素已经被修改为“修改后的值”。这是因为在Python中,函数对于列表这种可变对象的参数传递方式是引用传递(也可以理解为传对象的引用)。当把列表作为参数传递给函数时,函数内部的参数实际上是外部列表对象的一个引用,函数内部对这个引用指向的对象进行修改,由于函数内外指向的是同一个对象,所以在函数外部可以看到列表被修改的结果。