gpt4 book ai didi

python - 具有不同数量的参数 (*args) 和具有默认值的参数的函数?

转载 作者:行者123 更新时间:2023-12-01 02:38:22 25 4
gpt4 key购买 nike

我使用的是Python 3.6.0

考虑以下代码:

def foo(a, b='default-value', *args):
print('first argument=' + a)
print('default-value argument=' + b)
print('rest of arguments: ')
for arg in args:
print(arg)

以下函数调用:

foo('arg1','arg2','arg3','arg4')

结果:

first argument=arg1
default-value argument=arg2
rest of arguments:
arg3
arg4

但我预计:

first argument=arg1
default-value argument=default-value
rest of arguments:
arg2
arg3
arg4

是否可以在 Python 中创建一个既接受不同数量的参数又接受具有默认值的参数的函数?我如何才能达到上述预期的结果?

最佳答案

Python 3 中,您可以将该关键字参数移到函数定义中的 *args 之后,因此 *args 仅捕获位置信息>:

def foo(a, *args,  b='default-value'):
...
<小时/>
first argument=arg1
default-value argument=default-value
rest of arguments:
arg2
arg3
arg4

关于python - 具有不同数量的参数 (*args) 和具有默认值的参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com