Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python kwargs从其他参数获取值_Python_Function_Default_Keyword Argument - Fatal编程技术网

Python kwargs从其他参数获取值

Python kwargs从其他参数获取值,python,function,default,keyword-argument,Python,Function,Default,Keyword Argument,我想创建一个函数,根据传递给它的非KWARG为KWARG派生“默认”值。例如: numbers= [1,2,3,4,5] def someMath(lst, divideBy = len(lst)): return sum(lst)/divideBy 在本例中,我希望函数的默认返回值是传递的数字列表的总和除以列表的长度 someMath(numbers) # returns 3 但是,我仍然希望选择更改divideBy值的内容: someMath(numbers, divideBy

我想创建一个函数,根据传递给它的非KWARG为KWARG派生“默认”值。例如:

numbers= [1,2,3,4,5]

def someMath(lst, divideBy = len(lst)):
    return sum(lst)/divideBy
在本例中,我希望函数的默认返回值是传递的数字列表的总和除以列表的长度

someMath(numbers) # returns 3
但是,我仍然希望选择更改divideBy值的内容:

someMath(numbers, divideBy=5) # returns 5

这可能吗?如何实现?

我认为Python程序员通常编写这篇文章的方式是执行以下操作:

def someMath(lst, divideBy=None):
    if divideBy is None:
        return sum(lst)/len(lst)
    return sum(lst)/divideBy

谢谢,这很有意义-我的实际程序还有几个参数要处理,所以我想知道是否可以不为每个参数编写
if not kwarg:
。。。但也许这不太好,在我脑子里,你可以用
过滤器做一些更复杂的事情(bool…
和参数的字符串值,但这比简单地逐个测试是否提供了值可读性要差得多。是的,不,你是对的,没有必要。你的答案是正确的。一旦允许meyep肯定是重复的“python函数中的动态默认参数”,就会标记为准确地回答了我的问题