嘿,伙计们这里真的没有问题,
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旁边的括号中,它用于什么,是否与在函数内声明变量有任何不同,可能只是一些例子可以使用的方式。
我希望这是有道理的,我对任何帮助都表示最深切的谢意。 谢谢
答案 0 :(得分:0)
此模式称为default argument这意味着调用者可能不会选择传递特定参数(例如:sex
在您的情况下)。如果调用者没有传递参数,该函数将使用默认值(在您的情况下为sex = unknown
。
此模式最常见的用例是在大多数情况下往往会使用特定值调用函数。
例如。 python中的find有两个默认参数start
和end
。
图书馆设计人员认为find
的常见使用模式是在整个字符串中搜索特定的string
。因此,start
和end
的默认值为0
和len(string)
某些语言也通过function overloading提供此功能。因此,您使用find(substring, start, end)
和find(substring)
创建了两个函数。后者可以在内部将前者称为find(substring, 0, length)