我认为我完全理解这一点,但我只是想确保,因为我总是看到别人说绝对不要测试反对True,False或None.他们建议例程应该引发错误而不是返回False或None.无论如何,我有很多情况我只想知道是否设置了一个标志,所以我的函数返回True或False.如果没有有用的结果,还有其他情况我有一个函数返回None.从我的想法来看,只要我意识到我永远不应该使用,就不会有问题:
if foo == True
if foo == False
if foo == None
而应该使用:
if foo is True
if foo is False
if foo is None
因为True,False和None都是单例,并且总是会在使用"is"而不是"=="时评估我的预期方式.我错了吗?
沿着相同的路线,修改有时返回None的函数会更加pythonic,以便它们引发错误吗?假设我有一个名为"get_attr()"的实例方法,它从某个文件中检索属性.如果它发现我请求的属性不存在则返回None是否合适?让他们提出错误并在以后捕获它会更好吗?
python ×1