python - 返回不同数量和类型的值?
问题描述
通常我需要让函数或方法返回不同数量或类型的值。例如 :
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
此外,有时我希望在注入调试代码时具有 Aspect 类型行为,这也可能会更改返回类型/num-of-vals
是否有处理此问题的标准编程模式?装饰师?
该示例有效,但有点笨拙..
这只是一个例子......为了说明,不要把它当作规范的方法
解决方案
据我所知,任何原子动作都由不同的函数执行是很方便的。无论如何,如果您仍然想在同一个函数中执行多个计算并且您不介意性能,您总是可以返回 sum 和 mult(以及任何其他变量),并将选择所需内容的任务留给调用者. 就个人而言,我发现字典是一个不错的方法:
def test(x, y) :
values = {}
values['sum'] = x + y
values['mult'] = x * y
return values
推荐阅读
- c# - 如何在 C# 中向服务器发送文件和字符串?
- matlab - 如何在 MATLAB 中使用三次方程求解器求解/优化 9 个非线性方程?
- proxy - 在单个域上部署多个存储库(通过 Netlify 中的代理)
- javascript - 使用 ng-repeat 制作一个列表,由“自定义类别”(AngularJS)分隔
- python-3.x - 从熊猫数据框中选择具有两个级别(二元变量)的列
- javascript - 使用 Axios 发布请求的 JWT 授权
- c# - 具有不同变量的相同功能
- php - php - 比较和打印数组中的相同值
- python - Python = 将用户输入转化为句子
- javascript - 如何将自定义元素的文本内容分配给模板槽?