MST

星途 面试题库

面试题:Python自定义函数的参数传递与默认参数设置

请创建一个Python自定义函数,该函数接受两个参数,第一个参数为必选参数,第二个参数为默认参数,默认值为10。函数功能是将两个参数相乘并返回结果。同时解释一下Python中参数传递的机制。
34.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def multiply_numbers(a, b=10):
    return a * b

Python中参数传递的机制

在Python中,参数传递采用的是“赋值传递”(也叫“对象引用传递”)。

  1. 不可变对象:当传递像整数、字符串、元组这类不可变对象时,函数接收到的是对象的引用。在函数内部对参数进行修改时,实际上是创建了一个新的对象,而原对象在函数外部保持不变。例如传递一个整数x = 5,函数内部修改该参数x = 10,这只是在函数内部创建了新的整数对象10,函数外部的x仍然是5

  2. 可变对象:对于列表、字典等可变对象,函数同样接收到对象的引用。但与不可变对象不同的是,在函数内部对可变对象进行修改,会直接影响到函数外部的对象。例如传递一个列表my_list = [1, 2, 3],在函数内部通过my_list.append(4)操作,函数外部的my_list也会变为[1, 2, 3, 4]