Python如何设置两个默认值

Python如何设置两个默认值

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
Python函数中如何给多个参数指定默认值?

我想在Python函数里给两个参数都设置默认值,避免调用时必须传入所有参数,请问应该怎么写?

A

在Python函数定义中为多个参数设置默认值的方法

在定义函数时,可以直接在参数名后面使用等号赋值来设置默认值。例如:

def my_function(param1=default1, param2=default2):
    # 函数体

这样在调用my_function时,如果不传入特定参数,则会使用设定的默认值。

Q
调用带默认参数的Python函数时,如何只覆盖其中一个默认值?

如果一个Python函数有两个参数都设了默认值,调用时我只想改变其中一个值,应该怎么写?

A

Python函数调用时指定某些默认参数的方式

当函数定义中包含多个带默认参数时,可以通过关键字参数调用来覆盖其中任意一个。例如:

def my_function(a=1, b=2):
    print(a, b)

my_function(b=10)  # 只改变b,a使用默认值1

这样可以灵活地控制传参,部分使用默认值。

Q
Python中函数参数默认值是如何处理和存储的?

我注意到Python函数的默认参数不是动态计算的,能解释一下默认值的存储机制吗?

A

Python函数默认参数的存储和运作机制

函数定义时,默认参数的值会被计算并存储在函数对象的__defaults__属性中。调用函数时,未传入参数的位置会从这里读取默认值。
这意味着如果默认值是可变对象(例如列表或字典),其状态会在多次函数调用间保持,需特别注意避免副作用。