🐸

预设配置

Python 基础python-architect-02-default
奖励: 100 XP
|

懒惰的智慧

大法师又派发了任务:召唤 50 只哥布林 (Goblins) 来搬运货物。

Hoppy 发现 90% 的哥布林都是 绿色的 (Green),只有极少数是红色的队长。但是之前的图纸要求每次必须填颜色,Hoppy 不得不写了 45 次 "Green"

“太麻烦了!”Hoppy 抱怨道,“能不能让图纸默认就造绿色的,除非我特别要求?”

预设配置 (Default Arguments)

当然可以!我们可以在画图纸时给插槽装上一个默认值

def summon_goblin(color="Green"):
  print("召唤了一只 " + color + " 哥布林!")

现在的玩法变了:

  1. 不填:自动使用默认值 "Green"
  2. 填了:覆盖默认值,使用你指定的颜色。

你的任务

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...