EAFP与LBYL哪种编程风格更高效?
- 内容介绍
- 文章标签
- 相关推荐
本文共计653个文字,预计阅读时间需要3分钟。
AEFP与LBYL是两种防止单点故障处理机制,相信您一定接触过,只是可能没有深入思考过这个问题。
输入两个数,要求输出相除后的结果:a / b,但要注意b不能等于0。
输入:a, b输出:a / b(b不为0)
EAFP 与 LBYL 是两种“防御性处理机制”,相信你一定接触过,只是可能没有深入思考过这个问题。
输入两个数,要输出相除后的结果:
a, b = map(int, input().split())
print(a / b)
但是b可以等于0,我们有两种检查方式:
# EAFP
try:
print(a / b)
except ZeroDivisionError: print('Error')
# LBYL
if b != 0:
print(a / b)
else: print('Error')
第一种风格叫做EAFP(Easier to Ask for Forgiveness than Permission),也就是“获得原谅比请求许可容易”,也就是不做检查,直接try,有问题再处理异常。
本文共计653个文字,预计阅读时间需要3分钟。
AEFP与LBYL是两种防止单点故障处理机制,相信您一定接触过,只是可能没有深入思考过这个问题。
输入两个数,要求输出相除后的结果:a / b,但要注意b不能等于0。
输入:a, b输出:a / b(b不为0)
EAFP 与 LBYL 是两种“防御性处理机制”,相信你一定接触过,只是可能没有深入思考过这个问题。
输入两个数,要输出相除后的结果:
a, b = map(int, input().split())
print(a / b)
但是b可以等于0,我们有两种检查方式:
# EAFP
try:
print(a / b)
except ZeroDivisionError: print('Error')
# LBYL
if b != 0:
print(a / b)
else: print('Error')
第一种风格叫做EAFP(Easier to Ask for Forgiveness than Permission),也就是“获得原谅比请求许可容易”,也就是不做检查,直接try,有问题再处理异常。

