【问题标题】:Single Statement Exception Checking [duplicate]单语句异常检查 [重复]
【发布时间】:2013-03-18 15:40:01
【问题描述】:

我只是好奇这是否存在。在为 python 编程一年的大部分时间后,我从未遇到过它。

是否有一个用 c 语言编译的 Python 函数(以便在理解中更快地访问)来检查异常:

类似以下的函数:

def no_exception(function, *args, **kwargs):
    try:
        function(*args, **kwargs)
    except Exception:
        return False
    return True

你可以在这种情况下使用它

# values is full of data
new_values = [float(n) if no_exception(float, n) else n for n in values]

【问题讨论】:

  • 异常处理是 Python 的核心,为什么不快呢?
  • 如果您必须进行任何非 C 调用,列表推导会显着减慢 - 或者至少我是这样理解的。

标签: python exception-handling


【解决方案1】:

至少不在标准库中。否则 Python unittest 模块中的 assertRaises 方法将使用它。见:http://pythonhosted.org/gchecky/unittest-pysrc.html#TestCase.failUnlessRaises

您当然可以轻松编写自己的 c 实现。

【讨论】:

  • 感谢您的回复!出于某种原因,我非常确信我错过了一些东西,但看起来我没有:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 2017-04-05
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
相关资源
最近更新 更多