python如何定义有可选参数的函数

python如何定义有可选参数的函数

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

用户关注问题

Q
如何在Python函数中设置默认参数?

我想定义一个函数,其中部分参数是可选的,没有传入时使用默认值,该怎么写?

A

使用Python函数的默认参数值

在Python中,可以直接在函数定义时给参数赋一个默认值,这样调用函数时如果不传入该参数,就会自动使用默认值。示例:

def func(a, b=10):
return a + b

这里b是可选的,调用func(5)时,b默认为10。

Q
Python函数里如何判断是否传入了可选参数?

定义了可选参数后,如何在函数内部判断调用时是否显式传入了这个参数?

A

借助None或特殊标志值判断参数是否被赋值

可以将参数默认设为None,在函数体内通过判断参数是否为None来判断是否传入。例如:

def func(param=None):
if param is None:
print('未传入param,使用默认逻辑')
else:
print('param的值是', param)

这样既能区分调用时是否传入了该参数,也能在没有传入时执行默认操作。

Q
Python中如何定义接受任意数量的可选参数?

我希望写一个函数,不定数量的参数都能传入并处理,Python支持这种形式吗?

A

使用*args和kwargs接收任意数量的可选参数**

Python提供了*args用于接收任意数量的位置参数,**kwargs用于接收任意数量的关键字参数。函数定义如下:

def func(*args, **kwargs):
print('位置参数:', args)
print('关键字参数:', kwargs)

调用时,可以传不同数量的参数,函数会全部接收并处理。