在Python中返回多个值?
Python函数可以返回多个值。这些值可以直接存储在变量中。函数不限于返回变量,它可以返回零,一,两个或多个值。
这是python的默认属性,用于返回多个值/变量,而在许多其他编程语言(如C ++或Java)中则不可用。
为了从一个函数返回多个值,我们可以根据需要返回元组,列表或字典对象。
方法1:使用元组
def func(x):y0 = x+ 1
y1 = x * 3
y2 = y0 ** 3
return (y0, y1, y2)
但是,上述程序随着返回的值数量增加而出现问题。如果我们要返回六个或七个值?当然,我们可以继续修改它们,但是很容易忘记哪个值在哪里。而且,无论我们想在哪里接收它们,打开它们的包装都不会太混乱。
方法2:使用字典
另一个更好的解决方案是使用字典。
def func(x):y0 = x+ 1
y1 = x * 3
y2 = y0 ** 3
return {'y0': y0, 'y1': y1, 'y2': y2}
现在,我们有了一种机制,可以投影出返回对象的特定成员。
例如-
result[‘y1’]
方法3:使用类
另一种选择是使用类,我们可以在其中返回专门的结构。
class ReturnValue(obj):def __init__(self, y0, y1, y2):
self.y0 = y0
self.y1 = y1
self.y2 = y2
def g(x):
y0 = x + 1
y1 = x * 3
y2 = y0 ** 3
return ReturnValue (y0, y1, y2)
方法4:使用列表
另一种方法是使用列表。
def func(x):result = [x + 1]
result.append(x * 3)
result.append(y0 ** 3)
return result
方法5:使用生成器
我们可以选择使用yield来逐个返回多个值的选项,以防万一我们必须返回大量的值,那么使用序列可能会消耗大量系统资源。
def func(x):y0 = x + 1
yield y0
yield x * 3
yield y0 ** 3
哪种方法最好从一个函数返回多个值?
这完全取决于您的口味或要求,您更喜欢哪种方法。您可以选择–词典路线,因为它涉及的设置工作较少。或者您可以选择–类路线,因为这可以帮助您避免混淆词典所代表的含义。或者,您可以选择生成器以一一生成值。
以上是 在Python中返回多个值? 的全部内容, 来源链接: utcz.com/z/355609.html