我想总结一下以下代码.它应该做的是检查计算中的变量是否已分配.如果不是,那么结果将为零.因为我有数百个这样的计算,所以我不想重复尝试 - 除了每次计算.
我怎么能这样做?
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
Run Code Online (Sandbox Code Playgroud)
编写一个函数来执行此操作,使用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.
Run Code Online (Sandbox Code Playgroud)
通过使用某种数据结构(例如列表或字典)来包含您的值而不是将它们存储在单个变量中,您可能会受益; 然后你可以使用循环来完成所有这些计算,而不是单独编写它们.
| 归档时间: |
|
| 查看次数: |
487 次 |
| 最近记录: |