python - 从函数返回大量变量的优雅方式
问题描述
我有一个类的 python 方法,它正在计算一堆东西,将它们存储在 8 个不同的变量中,然后想要返回这些值。
线上的东西;
def rate_lookup(self, a):
....
....
return(charge,
handling_charge,
delivery_charge,
fuel_surcharge,
overheight_surcharge,
security_charge,
documentation_fee,
unpacking_removal_fee)
问题是我必须将这些返回值保存在函数调用的另一组类似的变量中。这看起来不是很优雅,并且使用了很多变量。
我确实需要每个变量值,因为我需要稍后根据某些标准将它们打印到控制台。
什么是重新调整大量变量值的最佳方法。
解决方案
你需要一个数据类。选择一个最适合您的:
- dataclasses.dataclass (python 3.7+)
- 打字.NamedTuple (python 3.6+)
- collections.namedtuple(任何 python,不支持输入)
- attrs(任何python,支持打字,比上面的一切都更强大,但第三方)
- 只是一个自定义类
__slots__
推荐阅读
- c# - 使用 msgkit 将 eml 转换为 msg 时,Outlook 不会在预览中显示日期
- junit - 在 JUnit5 中使用 TestSuites
- swift - 在 uitableviewcell xib 中的 uicollectionview 中将图像设置为 imageview
- python - 为什么我得到 QuerySet 对象没有属性用户
- erlang - Erlang 无效的守卫表达式
- javascript - 如果1不是0,如果值相似,如何找到2个数据之间的相似性
- php - Laravel - 为守卫(auth)设置别名
- python - 如何在 django 模型中实现选择字段?
- mysql - 如何根据左连接条件获取mysql值
- python - sklearn.tree.tree 模块在 0.22 版中已弃用,并将在 0.24 版中删除