我可以创建一个函数来报告Python中的输出列表吗?
我试图从函数中获取输出列表。 例如,假设我定义了一个名为“compute”的函数,如下所示我可以创建一个函数来报告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']
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']??