当前位置: 首页 > 面试题库 >

在Python中如何测试变量是否为None,True或False

龚征
2023-03-14
问题内容

我有一个可以返回以下三项之一的函数:

  • 成功(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零件一样简单,还是应该添加一个三布尔数据类型。我不希望该simulate函数引发异常,因为我希望外部程序对错误进行的所有操作都要记录并继续。


问题答案:

不要害怕例外!让您的程序仅记录并继续操作很容易:

try:
    result = simulate(open("myfile"))
except SimulationException as sim_exc:
    print "error parsing stream", sim_exc
else:
    if result:
        print "result pass"
    else:
        print "result fail"

# execution continues from here, regardless of exception or not

现在,如果您发现错误/没有错误的信息不足,那么您可以从模拟方法中获得更丰富的通知类型,以了解到底发生了什么错误。



 类似资料:
  • 问题内容: 我只是不知道如何确定传递给脚本的参数是否为数字。 我要做的就是这样: 有什么帮助吗? 问题答案: 一种方法是使用正则表达式,如下所示: 如果该值不一定是整数,请考虑适当修改正则表达式;例如: …或使用带符号处理数字:

  • 问题内容: 我有一个变量,我想知道它是否指向一个函数。 我曾希望我可以做些类似的事情: 但这给了我: 我选择的原因是 问题答案: 如果这是用于Python 2.x或Python 3.2+,则也可以使用。它曾经不推荐使用,但是现在不推荐使用,因此你可以再次使用它。你可以在此处阅读讨论内容:http : //bugs.python.org/issue10518。你可以执行以下操作: 如果这是针对Pyt

  • 问题内容: 我想检查变量是否为None或numpy.array。我已经实现了此功能。 但是,此代码引发ValueError。什么是直截了当的方式? 问题答案: 使用测试是否是假设的其他可能值有真值。但是,大多数NumPy数组根本没有真值,因此无法应用于它们。 如果要测试对象是否为,最通用,最可靠的方法是直接使用以下检查: 这不依赖于具有真值的对象,因此它适用于NumPy数组。 注意测试必须是,不是

  • 问题内容: 在Swift3中,我不再能够检查泛型变量类型是否为class()。下面的代码返回了即使特定类型,并通过价值结构,而不是类。在Swift2.3和2.2中,它可以按预期工作,并且为。 如何使它在Swift 3中正常工作? 问题答案: 在Swift3中,由于引入了所有内容,因此可以将所有不能直接桥接到Objective- C的内容包装在一个不透明的Objective-C兼容框中。 因此将永远

  • 问题内容: 确定JavaScript中的变量是否为数组的最佳事实标准跨浏览器方法是什么? 在网络上搜索时,有很多不同的建议,其中有些是好的,有些是无效的。 例如,以下是基本方法: 但是,请注意,如果数组为空,或者obj实际上不是数组,但是实现了length属性,将会发生什么情况。 那么,从实际工作,跨浏览器和仍有效执行的角度来看,哪种实现是最佳的呢? 问题答案: JS中对象的类型检查是通过完成的,

  • 本文向大家介绍在python中对变量判断是否为None的三种方法总结,包括了在python中对变量判断是否为None的三种方法总结的使用技巧和注意事项,需要的朋友参考一下 三种主要的写法有: 第一种:if X is None; 第二种:if not X; 当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同