gpt4 book ai didi

Python调用位置参数

转载 作者:行者123 更新时间:2023-11-28 17:28:39 26 4
gpt4 key购买 nike

我有一个 python 函数(python 2.5),其定义如下:

def Foo(a, b='Silly', c='Walks', d='Spam', e='Eggs', f='Ni', *addl):

addl 可以是任意数量的字符串(文件名)来做某事。

我对所有默认设置都满意,但我有文件名要放入 addl

我倾向于做这样的事情:

Foo('me@domain.com', addl=('File1.txt', 'File2.txt'))

但是会出现以下错误:

TypeError: Foo() got an unexpected keyword argument 'addl'

是否有一种语法可以让我简洁地调用 Foo 仅使用第一个必需参数和我的(可变数量的)附加字符串?或者我是否在进入 addl 参数范围之前冗余地指定了所有默认值?

为了论证,函数定义不能被修改或重构。

最佳答案

好的,如果不能修改函数,那为什么不创建包装器呢?

def foo_with_defaults(a, *addl):
Foo(a, *(Foo.func_defaults + addl))

foo_with_defaults('me@domain.com', *('File1.txt', 'File2.txt'))

关于Python调用位置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36405581/

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