|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> def q(*w):
print(w)
>>> q(1,2,3)
(1, 2, 3)
*w是以元组进行打包
>>> x,y,z = q(1,2,3)
(1, 2, 3)
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
x,y,z = q(1,2,3)
TypeError: cannot unpack non-iterable NoneType object
为什么不能解包?
>>> def a():
return 1,2,3
>>> a()
(1, 2, 3)
>>> x,y,z = a()
>>> x
1
>>> y
2
>>> z
3
为什么这个就可以解包?
请各位前辈指点
本帖最后由 isdkz 于 2022-3-29 17:10 编辑
因为你的函数没有 return,所以默认返回 None,q(1,2,3)是函数调用,
函数调用得到的是它的返回值 None,None 是不能解包的,你应该将 w 返回才可以解包:
def q(*w):
print(w)
return w # 将 w 返回
|
|