python - python多重赋值,可能有异常
问题描述
我正在使用 python 3.x 我有很多变量和很多函数。我必须将这些变量分配给函数的值,例如:
x1 = f1()
x2 = f2()
......
这些函数可能会抛出异常,在这种情况下我需要返回 None。我想写一个函数来完成这个任务。
assign(x1,f1).
任何想法如何实现它。
解决方案
不,从函数内部分配给变量是不可能的,但是无论如何都不需要将分配封装到该函数中:
def safely_call(f, *args, **kwargs):
try:
return f(*args, **kwargs)
except Exception:
logging.exception('Call to %s (%s, %s) failed', f, args, kwargs)
return None
x1 = safely_call(f1)
x2 = safely_call(f2)
推荐阅读
- python-3.x - 了解 Python 在类与变量中的内存使用情况
- spring-boot - 带有 SpringSecurity 5 的 SpringBoot 2 抛出 NoClassDefFoundError
- angular - (Angularfire) 从具有 id 的 firebase 数据库中检索特定数据
- anaconda - 如何在 Spyder 的变量资源管理器中查看类对象
- javascript - 路由更改时 import css 仍停留在页面中
- javascript - 在窗口调整大小/媒体查询时删除滚动功能
- arrays - 在C中具有交替1和0的2D方阵的最佳方法是什么
- php - PHP从键值中获取关联数组的名称
- ios - 在 swift 中设置 present() 约束
- mysql - MySQL:通过触发器插入后将一列增加一