Python 中可选参数的工作原理

How optional arguments works in Python

我一直在读一本书,并卡在了可选参数的主题上。

• 可以为不需要的参数定义默认值 通过

>>> def func(a, b, c=10, d=100):
    print a, b, c, d

>>> func(1,2)
   1 2 10 100            

我不明白...怎么办?花了一个小时谷歌搜索但无法理解。

正在阅读这本书和那个主题。我只是不明白为什么 func(1,2) 给我 1,2,10,100。我是说,它怎么知道的?

理解此类主题的最佳方法是在 IDE 中进行实验。

def func(a, b, c=10, d=100):
    pass

如果您使用 2 个参数调用 func(就像您的示例中的那样),则 cd 使用它们的默认参数,这些参数在函数签名中指定 above.p

您可以简单地通过指定它们来覆盖默认值 - 以我向该函数发送 3 个参数的这个例子为例

>>> func(1,2,3)
<<< 1 2 3 100

如果不正式定义cd,则调用变为:

func(1,2,10,100)

如果您没有正式定义 d,调用 func(1,2,5) 等同于:

func(1,2,5,100)

希望对您有所帮助...