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



嘿,伙计们,这里是真正的noob问题,

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

上面的代码是《新波士顿》教程中的一个简单程序,我在很多不同的地方看到过def get_gender(sex = 'Unknown'):以前使用的这段代码(不是实际的代码本身,而是它的使用方式,即:(sex = 'Unknown'):),但不太清楚如何在我自己的程序中使用它。我只是想知道是否有人能告诉我为什么这个特定的变量在get_gender旁边的括号里,它用于什么,它与在函数中声明变量有什么不同吗,也许还有一些使用方法的例子。

我希望这是有道理的,我非常感谢任何帮助。感谢

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

这种模式最常见的用例是,函数在大多数情况下都倾向于使用特定值进行调用。

例如,在python中find有两个默认参数startend

库设计人员认为find的常见使用模式是在整个字符串中搜索特定的string。所以startend的默认值是0len(string)

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

请注意,有些人更喜欢函数重载而不是默认参数

最新更新