我试图熟悉Python的最佳实践。根据Python的Zen,请求原谅比请求许可更容易,然而,它也指出平面比嵌套和可读性更好。您将如何处理:
我有三本字典。我有一把钥匙,我想测试一下钥匙是否在字典里。钥匙只会在其中一个里面。根据它在哪本字典里,我想做不同的事情。在
使用try/except,我得出以下解决方案:try:
val = dict1[key]
except KeyError:
try:
val = dict2[key]
except KeyError:
try:
val = dict3[key]
except KeyError:
do_stuff_key_not_found()
else:
do_stuff_dict3()
else:
do_stuff_dict2()
else:
do_stuff_dict1()
根据Python的EAFP原则,这是一种可行的方法,但它看起来杂乱无章,而且可读性不强。在
更简单的解决方案是:
^{pr2}$
什么是处理这种案件更像Python的方式?我应该坚持EAFP原则,还是平面和可读性更重要?在