Python3 函数多返回值问题

我们都知道,作为脚本语言,函数返回多个值是一件很方便的事情
举个例子:

def ttt():
    return 3,4,5
a,b,c = ttt()

可以看到ttt这个函数返回了3个值,并且给到了a,b,c。但是我们稍加改造,就会出现以下问题:

def ttt():
    return 3,4,5
a,b = ttt()

ValueError: too many values to unpack (expected 2)

为什么我们不能只给a和b赋值呢?通过查阅资料,我们了解到,Python函数返回的仍然是单一值。返回值是一个tuple。但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple。
所以,python的多返回值需要注意返回值的个数,如果不知道个数,可以值写1个变量赋值,然后通过len等方法求出个数,否则就会出现奇怪的报错了。

你可能感兴趣的:(python,c++,c语言,eclipse,linux)