编写条件分支代码的技巧。
规范使用 python 中的条件判断语句
1. 避免多层分支嵌套
Python中利用缩进来替代 { }。如果多个 if 嵌套, 堪称 ” 嵌套 if 地狱 “
下面的代码直接翻译了原始条件分支,导致代码可读性和维护性很差。
def buy_fruit(nerd, store):
"""去水果店买苹果
- 先得看看店是不是在营业
- 如果有苹果的话,就买 1 个
- 如果钱不够,就回家取钱再来
"""
if store.is_open():
if store.has_stocks("apple"):
if nerd.can_afford(store.price("apple", amount=1)):
nerd.buy(store, "apple", amount=1)
return
else:
nerd.go_home_and_get_money()
return buy_fruit(nerd, store)
else:
raise MadAtNoFruit("no apple in store!")
else:
raise MadAtNoFruit("store is closed!")
我们利用取反的方式,“提前结束” 来优化这段代码:
def buy_fruit(nerd, store)