懒惰的智慧
大法师又派发了任务:召唤 50 只哥布林 (Goblins) 来搬运货物。
Hoppy 发现 90% 的哥布林都是 绿色的 (Green),只有极少数是红色的队长。但是之前的图纸要求每次必须填颜色,Hoppy 不得不写了 45 次 "Green"。
“太麻烦了!”Hoppy 抱怨道,“能不能让图纸默认就造绿色的,除非我特别要求?”
预设配置 (Default Arguments)
当然可以!我们可以在画图纸时给插槽装上一个默认值。
def summon_goblin(color="Green"):
print("召唤了一只 " + color + " 哥布林!")
现在的玩法变了:
- 不填:自动使用默认值
"Green"。 - 填了:覆盖默认值,使用你指定的颜色。
你的任务
1
修改图纸
修改编辑器中的 make_potion 函数。给 effect 参数加上默认值 "Healing" (治疗)。
2
快速制造
调用 make_potion() 不传任何参数。它应该制造一瓶治疗药水。
3
特殊定制
调用 make_potion("Poison") 传入参数。它应该制造一瓶毒药。
位置规则
如果你有多个参数,有默认值的参数必须放在最后面!否则 Python 会搞不清哪个参数对应哪个插槽。
参考答案点击展开点击收起
点击展开点击收起
参考答案:
def make_potion(effect="Healing"):
print("制造了一瓶药水,效果是:" + effect)
make_potion() # 默认 Healing
make_potion("Poison") # 指定 Poison高级技巧想更进一步?点击展开点击收起
F. 现实桥接 (Bridge to Reality)
- 预设配置 = 默认参数 (Default Arguments)。
- 这种技巧在 API 设计中非常常见。比如
print()函数其实有一个默认参数end='\n',所以它每次打印完都会自动换行。如果你写print("Hi", end=""),它就不换行了!
Loading...
终端输出
Terminal
Ready to run...