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

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

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

用户关注问题

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

我想定义一个函数,可以在调用时不传入所有参数,该怎么设置默认参数值?

A

使用默认参数实现可选参数

在函数定义时,可以为参数赋予默认值,这样调用函数时可以选择性地传入该参数。例如:

def greet(name, greeting='Hello'):
    print(f"{greeting}, {name}!")

调用时,如果不传 greeting,则使用默认的 'Hello'。

Q
Python 函数如何接收任意数量的参数?

除了定义带默认值的参数外,Python 函数能否接受可变数量的参数?用法是什么?

A

**使用 *args 和 kwargs 接收可变参数

函数参数中使用 *args 可以接收任意数量的位置参数,**kwargs 可以接收任意数量的关键字参数。
示例:

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

这样可以灵活处理可选和多样的参数。

Q
调用带有可选参数的 Python 函数时如何指定参数?

函数参数有默认值时,我可以只传部分参数吗?怎么正确指定我想要传的参数?

A

通过位置参数或关键字参数调用函数

调用带默认值参数的函数,可以按位置逐个传入,也可以使用关键字参数显式指定。

例如:

def example(a, b=10, c=20):
    print(a, b, c)

example(1)           # 输出: 1 10 20
example(1, c=30)     # 输出: 1 10 30

使用关键字参数可以更清晰地确定参数含义。