Python - 总结 try-except 语句

标签 python except

我想总结一下下面的代码。它应该做的是检查计算中的变量是否已分配。如果不是,则结果将为零。因为我有数百个这样的计算,所以我不想重复尝试 - 除了每个计算。

我该怎么做?

a = 1
b = 2
d = 3
f = 2

try:
    ab = a + b
except:
    ab = 0

try:    
    ac = a - c
except:
    ac = 0

try:    
    bg = b / g
except:
    ac = 0

最佳答案

编写一个函数来执行此操作,使用 lambda(单行函数)来延迟对变量的评估,以防其中一个变量不存在:

def call_with_default(func, default):
    try:
        return func()
    except NameError:   # for names that don't exist
        return default

ab = call_with_default(lambda: a+b, 0)
# etc.

您可能会受益于使用某种数据结构(例如列表或字典)来包含您的值而不是将它们存储在单个变量中;然后您可以使用循环来完成所有这些计算,而不是单独编写它们。

关于Python - 总结 try-except 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071885/

相关文章:

python - 属性错误 : 'Flask' object has no attribute 'user_options'

python - PyEphem 角度说明

python - 使用 PyObjC 和 Core Data 操作表值

php - 正则表达式匹配特定字符串而不匹配其他字符串

python - python 中 try 和 except 的使用

python - 在 Python 中获取文件大小?

Python 和 curl 问题

python - 事后补充

python异常消息捕获

sql - 如何用 except 替换 2 个查询