Python,从方法返回/处理复杂数据的最佳方式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python,从方法返回/处理复杂数据的最佳方式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1567字,纯文字阅读大概需要3分钟。
内容图文
![Python,从方法返回/处理复杂数据的最佳方式](/upload/InfoBanner/zyjiaocheng/720/36cd01cd79ba422ab0a9b8ac417b38c3.jpg)
我需要从单个方法处理一堆类似但专门调用的函数.例如(也许不是一个很好的例子)
class Util(object):
def method1(self):
return "method1", [1,2,3]
def method2(self):
return "method2", {"1":4, "2":5, "3":6}
def method3(self):
return [1,2,3], "method3", {"1":4, "2":5, "3":6}
def call_method(self, method_func):
if method_func.__name__ == "method1":
(name, dict_values) = self.method_func()
if method_func.__name__ == "method2":
(name, list_values) = self.method_func()
if method_func.__name__ == "method3":
(list_values, name, dict_values) = self.method_func()
# How best to manage a return for 3 optional, but not inter-dependent values?
return name, dict_values, list_values
if __name__ = "__main__":
u = Util()
(name, dict_values, list_values) = u.call_method(Util.method1)
call_method()返回是我想在这里可视化的内容.我有一堆我需要做的独家子调用,我需要将它们按到可以返回的东西上.
将它们填充到Util类成员变量中会更容易吗?而实现u.call_method()的人只需要知道要查找什么?
在任何人首先抱怨设计之前,它不是我的.我只需要公开一致的API,并且有兴趣听取有关如何处理这样的返回的意见.它不容易规范化,虽然缺少尾随返回值将通过运行时,但领先的返回值不会.
任何提示都会很棒!谢谢.
解决方法:
如果您需要经常对多个值进行分组,则一种方法是使用字典…即将代码更改为:
...
def method1(self):
return {"name": "method 1",
"list": [1, 2, 3]}
Python中可能的一点是使用对象而不是字典来使代码更好地阅读:
class Bunch:
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
...
def method1(self):
return Bunch(name="method1",
list=[1, 2, 3])
这样调用者可以使用result.name而不是result [“name”].
最近在Python中标准化的另一个选项是NamedTuple.
内容总结
以上是互联网集市为您收集整理的Python,从方法返回/处理复杂数据的最佳方式全部内容,希望文章能够帮你解决Python,从方法返回/处理复杂数据的最佳方式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。