【发布时间】:2018-09-24 00:35:00
【问题描述】:
有没有办法定义一个函数,该函数知道根据用户期望的输出数量来返回多少变量?
让我来说明这个想法。假设如下函数:
def function():
a = 1
b = 2
c = 3
return a, b, c
然后,我希望我的函数表现得像:
>>> x = function()
>>> x
1
>>> x, y = function()
>>> x
1
>>> y
2
>>> x, y, z = function()
>>> x
1
>>> y
2
>>> z
3
python中有没有可以帮助我实现的功能或概念?也许是装饰器?
欢迎提出任何想法!
PD:我的 Python 水平还是很基础的。
编辑:
我目前正在从 IDL 迁移到 Python。所以我错过了 IDL 中的一个不错的功能,您实际上可以通过以下方式选择返回尽可能多的变量:
FUNCTION function, a=a, b=b, c=c
a=1
b=2
c=3
RETURN, a
然后你可以简单地问你想得到什么
IDL> x=function()
IDL> print, x
1
IDL> x=function(y=b)
IDL> print, x
1
IDL> print, y
2
IDL> x=function(y=b, z=c)
IDL> print, x
1
IDL> print, y
2
IDL> print, c
3
【问题讨论】:
-
语言限制。你必须声明如何处理输出。
标签: python python-3.x return idl-programming-language multiple-variable-return