使用为python中的函数中的参数指定默认值有什么好处

问题描述 投票:-6回答:2

Python允许我们默认将值设置为参数。以下示例取自Mark Myers以更智能的方式学习python。

def calc_tax(sales_total,tax_rate=0.04):
    print(sales_total * tax_rate)

我不明白在我们这样做时它的用途是什么:

def calc_tax(sales_total):
    print(sales_total*0.04)
python function default-value
2个回答
0
投票

这是因为在做的时候:

def calc_tax(sales_total,tax_rate=0.04):
    print(sales_total * tax_rate)

你可以做:

calc_tax(100)

然后这里tax_rate是一个分配给默认值的参数,因此可以通过以下方式更改它:

calc_tax(any thing here,any thing here)

要么:

calc_tax(any thing here,tax_rate=any thing here)

所以在另一方面,这段代码:

def calc_tax(sales_total):
    print(sales_total*0.04)

是只能做到的:

calc_tax(any thing here)

因为没有第二个论点


0
投票

默认参数是一种语言无关的功能,旨在帮助程序员。让我们考虑你的例子

def calc_tax(sales_total,tax_rate=0.04):
    print(sales_total * tax_rate)

我们可以将函数称为

calc_tax(100)

(请注意我甚至不必提及0.04,因为该函数将自动采用默认值)和

calc_tax(100,0.09)

在第一种情况下,使用tax_rate的默认值,即0.04,你会得到相同的答案

print(sales_total*0.04)

现在,如果你想在任何时候改变这个值,比如说0.09然后通过你的方法我们将不得不转到源代码并修改函数。有时这不完全可能或者可能不像您提供的示例那么简单,例如在函数中多次使用此tax_rate的情况。

如果您100%确定值永远不会改变,对于像pi这样的常量,那么在这种情况下它们不会传递给函数参数,但对于其他情况,使用默认参数更简单,更有效。

© www.soinside.com 2019 - 2024. All rights reserved.