python - 返回不同数量和类型的值?

标签 python design-patterns return

通常我需要让函数或方法返回不同数量或类型的值。 例如:

def test(x,y,ret='both') :
  s = x + y
  m = x * y
  if ret = 'both' : return s, m
  if ret = 'sum' : return s
  if ret = 'mult' : return m

有时我希望在注入(inject)调试代码时具有 Aspect 类型行为,这也可能会更改返回类型/num-of-vals

是否有一个标准的编程模式可以处理这个问题?装饰器?

该示例可以工作,但有点笨拙..

<小时/>

这只是示例......为了说明,不要将其视为规范方法

最佳答案

据我所知,任何原子操作都由不同的函数执行是很方便的。 无论如何,如果您仍然想在同一个函数中执行多次计算并且不介意性能,那么您始终可以返回 sum 和 mult (以及任何其他变量),并将选择所需内容的任务留给调用者。就我个人而言,我发现字典是一个很好的方法:

def test(x, y) :
    values = {}
    values['sum'] = x + y
    values['mult'] = x * y
    return values

关于python - 返回不同数量和类型的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60461609/

相关文章:

python - 当分母是分数本身时对分数进行排序

lambda 中的 Python isub

javascript - 创建一个函数数组,在没有循环的情况下返回它们的索引

javascript - 我无法返回 axios 请求的响应

database - 对战游戏中标记双方的数据设计问题

java - 查找字符串中第一个元音的索引

python - 从所有数据框列中删除子字符串

python - 使用 python 删除 XML 中的子元素

java - 替换巨大的案例陈述

C# 观察者模式 : Still tightly connected?