关于python(用于许多编码语言)

时间:2016-05-14 10:51:08

标签: python function variables

嘿,伙计们这里真的没有问题,

def get_gender(sex = 'Unknown'): 
if sex is 'm':
    sex = "Male"
elif sex is 'f':
    sex = "Female"
print(sex)

上面的代码是一个来自The New Boston教程之一的简单程序,我在许多不同的地方看到过这段特殊的代码def get_gender(sex = 'Unknown'):(不是实际的代码本身,而是如何使用它,即:{ {1}})之前但不太清楚如何在我自己的程序中使用它。我只是想知道是否有人能够告诉我为什么这个特定变量位于get_gender旁边的括号中,它用于什么,是否与在函数内声明变量有任何不同,可能只是一些例子可以使用的方式。

我希望这是有道理的,我对任何帮助都表示最深切的谢意。 谢谢

1 个答案:

答案 0 :(得分:0)

此模式称为default argument这意味着调用者可能不会选择传递特定参数(例如:sex在您的情况下)。如果调用者没有传递参数,该函数将使用默认值(在您的情况下为sex = unknown

此模式最常见的用例是在大多数情况下往往会使用特定值调用函数。

例如。 python中的find有两个默认参数startend

图书馆设计人员认为find的常见使用模式是在整个字符串中搜索特定的string。因此,startend的默认值为0len(string)

某些语言也通过function overloading提供此功能。因此,您使用find(substring, start, end)find(substring)创建了两个函数。后者可以在内部将前者称为find(substring, 0, length)

请注意某些人prefer function overloading over default argument