如何使“返回次数”成为变量

2024-04-26 05:31:45 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们考虑一个普通函数:

def function(stuff):
    return result

调用它并在变量中获取结果:

variable = function(stuff)

我可以对3个(例如)结果执行相同的操作:

def function(stuff):
    return result1, result2, result3

调用它并在3个变量中获得结果:

variable1, variable2, variable3 = function(stuff)

我的问题是:当我设置一个名为“结果数”的变量时,如何编写一个自动读取和更改的函数。或者,在我的实际例子中,“结果的数量”将取决于变量的长度(变量是数组的列表)。你知道吗

我希望这个问题以前没有得到回答。你知道吗


Tags: 函数数量returndeffunctionresultvariable例子
2条回答

只需构造并返回结果的容器(如tuplelist):

例如:

import random

def function(stuff):
    number_of_results = random.randrange(1, 4)
    results = tuple(random.randint(0, 100) for _ in range(number_of_results))
    return results

for _ in range(5):
    print(function(None))

样本输出:

(0, 28)
(66,)
(62, 63, 88)
(99, 89, 67)
(87, 91)

如果要将值returned赋给单独的变量,可以,但是需要知道函数将返回多少。例如,如果您事先知道它将返回三件事,您可以写:variable1, variable2, variable3 = function(stuff)。出于这个原因,最好期望它在调用函数之后返回一个容器并处理其内容。你知道吗

您可以使用所需的元素数创建list,然后return tuple(yourList)。你知道吗

但是,您可以直接返回list。Python习惯上不太关心返回类型,因此任何寻找类似tuple的iterable的调用程序也可以迭代list。你知道吗

一个list也可以解包:

>>> foo(3)
[1, 2, 3]
>>> a, b, c = foo(3)
>>> a
1
>>> b
2
>>> c
3

相关问题 更多 >