Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以创建一个函数来报告Python中的输出列表吗?_Python - Fatal编程技术网

我可以创建一个函数来报告Python中的输出列表吗?

我可以创建一个函数来报告Python中的输出列表吗?,python,Python,我试图从函数中获取输出列表。 例如,假设我定义了一个名为“compute”的函数,如下所示 def compute(a, b): add = a + b sub = a - b return add, sub 接下来我要做的是创建一个新函数,该函数将这个“compute”函数作为参数,并以字符串的形式返回函数的输出列表add和sub 也就是说,如果我将函数命名为“output_list”,我希望函数output_list(compute)返回['add','sub']

我试图从函数中获取输出列表。 例如,假设我定义了一个名为“compute”的函数,如下所示

def compute(a, b):
    add = a + b
    sub = a - b
    return add, sub
接下来我要做的是创建一个新函数,该函数将这个“compute”函数作为参数,并以字符串的形式返回函数的输出列表add和sub

也就是说,如果我将函数命名为“output_list”,我希望函数
output_list(compute)
返回
['add','sub']

看起来应该很简单,但我写起来有困难。
代码应该是什么样子?

这是不可能的。
compute
中的局部变量名称在
compute
之外是未知的。事实上,局部变量很可能在运行时根本不存在。

好吧,它可能无法达到目的,但如果您是定义
compute
函数的人,也许您可以这样做:

from varname import nameof
def compute(a, b):
    add = a + b
    sub = a - b
    compute.output_list = [ nameof(add), nameof(sub) ]
    return add, sub

>>> compute.output_list
['add', 'sub']

您的问题有点让人困惑,您希望如何将被调用的函数“包含参数””作为其他函数的参数,而不提及参数的值??这有点令人困惑。。。现在,您希望输出成为变量的字符串列表,还是希望在列表中列出变量的结果

我会考虑将变量的结果列为另一个函数的值列表的最佳方案。

代码语法

def compute(a, b):
    add = a + b
    sub = a - b
    return [add, sub]


def another_function(lista= compute(3, 4)):
    return lista

print(another_function())
输出

[7, -1]

[Program finished]

返回
['add','sub']
?这是什么意思?
compute()
的输出是两个值,最有可能是数字。这些值来自名为
add
sub
的局部变量,这是一个内部细节,在函数外部不可见。因此,您无法定义合理的函数来生成这里的
['add','sub']
。比如
[str(i)for i in compute(5,6)]
?你可以把它写进一个函数…我的问题还不够清楚。道歉。因为我需要在代码后面使用“作为字符串”的输出列表,所以我想定义一个报告输出列表的函数,以便我可以将它们收集为字符串列表。你想要什么类型的字符串列表,伙计??还是很困惑!!您的第一个函数接受2个整数参数?是否要将这些整数的输出转换为字符串?例如,我帖子中的输出是[7,-1]。你想让它像那样显示['7','-1']??