使用try / exception测试变量/函数

时间:2015-07-09 12:53:08

标签: python

相反使用if / else测试变量或函数,使用如下所述的try / exception会更加pythonic?

def fufu(oi):
    try:
        int(oi)
    except:
        raise
    else:
        return True

some_var = 1
try:
    some_var
except NameError:
    print("some_far not defined, boo hoo")
else:
    try:
        fufu(some_var)
    except:
        print("i'm not a guitarr, so i don't accept string,")
    else:
        print("Thank you for the integer: {}".format(some_var))
    finally:
        print("we're done")
finally:
    print("test finished")

1 个答案:

答案 0 :(得分:1)

不,使用try / except语句而不是if / else条件语句测试条件不是Pythonic。

PEP 8PEP 20是被认为是“Pythonic”的试金石。 PEP 20指出:

  

简单比复杂更好。

     

[...]

     

可读性计数。

通常会同意条件语句更简单,更易读,并且是在代码中测试条件的预期方法。