Python kwargs 从其他参数中获取值
Python kwargs taking value from other args
我想创建一个函数,根据传递给它的非 kwargs 为 kwargs 导出 'default' 值。例如:
numbers= [1,2,3,4,5]
def someMath(lst, divideBy = len(lst)):
return sum(lst)/divideBy
在这个例子中,我希望函数的默认 return 值是传递的数字列表的总和除以列表的长度。
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
我想创建一个函数,根据传递给它的非 kwargs 为 kwargs 导出 'default' 值。例如:
numbers= [1,2,3,4,5]
def someMath(lst, divideBy = len(lst)):
return sum(lst)/divideBy
在这个例子中,我希望函数的默认 return 值是传递的数字列表的总和除以列表的长度。
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