我有一个函数可以返回以下三项之一:
- 成功 (
True
)
- 失败 (
False
)
- 读取/解析流时出错(
None
)
我的问题是,如果我不应该测试True
or 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
或者我应该添加一个三布尔数据类型。我不想要simulate
函数抛出异常,因为我希望外部程序处理错误时记录它并继续。
if result is None:
print "error parsing stream"
elif result:
print "result pass"
else:
print "result fail"
保持简单和明确。您当然可以预先定义一个字典。
messages = {None: 'error', True: 'pass', False: 'fail'}
print messages[result]
如果您打算修改您的simulate
函数包含更多返回代码,维护此代码可能会成为一个问题。
The simulate
还可能引发解析错误的异常,在这种情况下,您要么在这里捕获它,要么让它向上传播一个级别,并且打印位将减少为单行 if-else 语句。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)