在之前的视频中, 我向您展示了如何定义带参数的函数｡
现在, 我已经向你们展示了这个和这些参数, 我们称之为位置｡
参数, 或者我们可以称之为位置参数因为位置很重要？
如果我把参数改为, 比如说, Andre作为第二个参数, 然后我点击run, 你会看到我得到了, Hello, Smiley,
Face, Andre, 这可能不是我们想要的结果.
位置参数是需要位于适当位置的参数｡
所以如果我们先定义name然后再定义emoji, 你必须确保第一个参数是name,
第二个参数是emoji｡
不过, 有种东西叫｡
关键字参数｡
和关键字参数允许我们｡
好吧, 不用担心位置｡
我是什么意思？
嗯, 我可以做这样的事情｡
我可以打个招呼｡
在这里, 给予它一个关键字和一个值｡
所以我会说emoji相当于, 比方说, 这个笑脸｡
然后逗号名称等于Bibi｡
现在如果我运行这个｡
你会看到我得到的｡
你好, 贝贝｡
因为我可以使用关键字参数｡
我明确地告诉它, 嘿, 我希望表情符号是这样的, 名字是这样的｡
所以位置参数很重要, 关键字参数除外｡
它没有｡
现在我认为这是一个糟糕的实践, 因为你让代码变得比它需要的更复杂｡
如果函数的定义是给予name一个emoji, 你应该遵循这个做法, 不要让其他开发人员感到困惑｡
然后, 只要坚持这个名字和表情符号, 这样你仍然可以使用关键字参数,
但要确保他们的顺序, 因为为什么你不只是按照函数告诉你？
这是相同的结果, 但至少这样你就很好地遵循了标准流程｡
顺便说一下, 这些关键字参数有时候会和我们所说的默认参数混淆｡
我知道这会让人非常非常困惑, 但这是你练习一点后自然会得到的东西｡
所以我将把它注释掉, 然后向你们展示默认参数是如何工作的｡
默认参数｡
我们在这里定义函数时, 允许我们在这里给予我们想要的默认值｡
在我们的情况下, 让我们说｡
达斯·维德是默认的名字, 表情符号将是｡
这个愤怒的达斯·维达
看起来不像达斯·维德｡
但这是我们要用的表情符号｡
这有什么用？
如果我运行我的程序｡
如果我使用关键字参数并运行程序, 一切都是一样的｡
什么都没变｡
让我们把这个放大一点｡
但是, 默认参数允许我们做一些有趣的事情｡
比如说, 如果我跑步｡
另一个功能｡
说你好, 但我忘了给予它参数或在我们的情况下参数｡
好吧, 如果我运行这个｡
我明白了｡
你好吗？
达斯·维德｡
因为使用默认参数, 它会说如果你不能在emoji中获得名称, 因为你被调用时没有任何参数｡
好吧, 在这种情况下, 使默认达斯维德和默认表情符号｡
这个小表情｡
如果我用, 比方说, 就｡
一个参数, 然后单击“运行”｡
然后, 它将填充name变量, 但任何我们没有给予它的东西, 如emoji, 都将被预定义｡
因此, 这是一个很好的方法来确保您的函数运行, 即使它被错误地调用｡
关键字参数增加了代码的可读性, 因为你知道我们是如何调用say hello的,
而默认参数使我们的函数更安全,
因为我们确保了当我们使用变量时, 不管它是如何被调用的, 我们都会有一个｡
但是位置论证也很有用因为它很简洁, 对吧？
我们只是按照函数告诉我们的去做, 它很容易阅读｡
因此, 使用每种方法都有其优缺点｡
但我希望这向你展示了一些定义函数和调用函数的方法｡
下次见｡
再见, 再见, 再见