Python - 默认参数


Python 允许定义一个函数,并将默认值分配给一个或多个形式参数。如果没有向该参数传递任何值,Python 将使用该参数的默认值。如果传递任何值,则默认值将被传递的实际值覆盖。

例子

# Function definition is here
def printinfo( name, age = 35 ):
   "This prints a passed info into this function"
   print ("Name: ", name)
   print ("Age ", age)
   return

# Now you can call printinfo function
printinfo( age=50, name="miki" )
printinfo( name="miki" )

它将产生以下输出-

Name: miki
Age 50
Name: miki
Age 35

在上面的示例中,对函数的第二次调用不会将值传递给age参数,因此使用其默认值35。

让我们看另一个为函数参数分配默认值的示例。函数 Percent() 定义如下 -

def percent(phy, maths, maxmarks=200):
   val = (phy+maths)*100/maxmarks
   return val

假设每个科目的分数均为 100 分,则参数 maxmarks 设置为 200。因此,我们可以在调用 Percent() 函数时省略第三个参数的值。

phy = 60
maths = 70
result = percent(phy,maths)

但是,如果每个科目的最高分数不是 100,那么我们需要在调用 Percent() 函数时添加第三个参数。

phy = 40
maths = 46
result = percent(phy,maths, 100)

例子

这是完整的例子 -

def percent(phy, maths, maxmarks=200):
   val = (phy+maths)*100/maxmarks
   return val

phy = 60
maths = 70
result = percent(phy,maths)
print ("percentage:", result)

phy = 40
maths = 46
result = percent(phy,maths, 100)
print ("percentage:", result)

它将产生以下输出-

percentage: 65.0
percentage: 86.0