何时在 Python 中使用 'try' 与 'if' 进行值测试
在 Python 中,当测试变量是否具有值时,经常会出现使用“尝试”或“如果”之间的选择。此问题旨在为每个构造背后的基本原理提供指导。
考虑一个返回列表或不返回值的函数。要在处理之前检查结果,我们有两个选项:
result = function(); if (result): for r in result: # process items
或
result = function(); try: for r in result: # Process items except TypeError: pass;
'try'/' except'
“try”/“ except”方法假设“result”中存在值并处理潜在的异常(例如,如果函数返回 None,则出现 TypeError)。这遵循 EAFP(请求宽恕比请求更容易)原则,该原则倾向于在异常发生时捕获异常,而不是事先检查异常。在异常不常见的情况下,它的效率更高。“if”的基本原理
“if”方法在尝试执行操作之前显式检查值是否存在处理它。虽然它可能会比较慢,但建议在预计会频繁发生异常时(即,在这种情况下“结果”可能为 None 时)。结论
选择取决于预期的异常频率。对于不常见的异常,“try”/“ except”速度更快,并且遵循 EAFP 原则。否则,“if”会更加谨慎,以避免不必要的异常处理。其他注意事项
以上是何时使用“try”与“if”来处理 Python 中潜在的 None 值?的详细内容。更多信息请关注PHP中文网其他相关文章!