gpt4 book ai didi

Python,从方法返回/处理复杂数据的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:00 25 4
gpt4 key购买 nike

我需要通过一个方法处理一堆相似但专门调用的函数。例如(也许不是一个很好的例子)

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,并且有兴趣听取有关如何处理这样的返回的意见。它不容易标准化,虽然缺少尾随返回值会通过运行时,但领先的返回值不会。

任何提示都会很棒!谢谢。

最佳答案

namedtuple 是返回“无名”元组的非常 Pythonic 的替代方法

http://docs.python.org/library/collections.html#collections.namedtuple

如果只需要读取其中的一些,调用者就不需要提取所有的元组成员。

关于Python,从方法返回/处理复杂数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7406349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com