在python函数中将多个参数保留为默认值

时间:2016-06-20 14:10:17

标签: python

如何将函数的输入参数的子集保留为python中的默认值?

例如,

values.map do |value|
  Unit.new(value)
end

如何将 a 保留为2并且仅更改 b 的值?类似的东西:

>>> def sum(a=2, b=3):
...   print a + b

>>> sum(1,2)
3

>>> sum(1)
4

3 个答案:

答案 0 :(得分:6)

只需将b作为关键字参数传递给函数:

>>> def mysum(a=2, b=3):
...     print a + b
... 
>>> mysum(b=4)
6

了解关键字参数here

答案 1 :(得分:0)

只需指定要更改其新值的一个参数的名称,而不指定不更改的参数。

sum(b=4)

答案 2 :(得分:0)

在Python中,如果对象是不可变的,则参数的值在每次函数调用时都不会更改,除非另有指定。如果定义了defaut参数,则只能更改在函数调用时指定的默认参数,如下所示:

>>> sum(b=4)
6