是否可以将容易出错的代码放在OR语句中?

时间:2015-07-21 19:11:27

标签: python

这是在Python中,但可以应用于任何语言。

a = None
if (not a) or (a+3==5):
    print("Is this okay?")

在if语句中使用a+3是否是良好的编程习惯,即使aNone会导致错误?

我依赖于or在错误发生前停止,如果a实际上是其他不支持添加的内容,或or,这对我来说似乎是一个坏主意。 1}}语句(在其他语言中)查看两个值。

对此进行编程的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

是的,您可以依靠短路来执行错误处理和验证。

但是在您的情况下,您的逻辑是错误的,您需要and来执行此错误处理

if a and (a+3==5):

或者你甚至可以进行类型检查

if isinstance(a, int) and (a+3==5):

在阅读+操作

之前,这将再次短路