我有一个函数可以返回以下三项之一:
True
)False
)None
)我的问题是,如果我不应该对True
或False
进行测试,我应该如何看到结果。以下是我目前的做法:
result = simulate(open("myfile"))
if result == None:
print "error parsing stream"
elif result == True: # shouldn't do this
print "result pass"
else:
print "result fail"
它真的像删除== True
部分那么简单吗,还是应该添加一个tri-bool数据类型。我不想让simulate
函数抛出异常,因为我只想让外部程序处理一个错误并记录它并继续。
保持简单明了。你当然可以预先定义一本字典。
如果计划修改
simulate
函数以包含更多返回代码,那么维护此代码可能会有点麻烦。simulate
还可能引发解析错误的异常,在这种情况下,您要么在这里捕获它,要么让它向上传播一个级别,打印位将减少为一行if else语句。别害怕例外!让您的程序只需登录并继续即可:
现在,您可以从simulate方法获得更丰富的通知类型,以了解究竟发生了什么错误,以防您发现error/no error信息量不够。
从不,从不,从不说
从来没有。这太疯狂了,因为您在重复被冗余地指定为if语句的冗余条件规则的内容。
更糟的是,永远,永远,永远,永远
你有
not
。请随意使用。最后,做
a == None
是低效的。做a is None
。None
是一个特殊的单粒子对象,只能有一个。看看你有没有那个东西。相关问题 更多 >
编程相关推荐