读书人

变量赋值加个逗号是什么意思解决办法

发布时间: 2013-06-26 14:29:32 作者: rapoo

变量赋值加个逗号是什么意思
初学python,今天看源代码的时候,有点不明白变量赋值后加个逗号是什么意思


msg, = bencode.decode(io.BufferedReader(io.BytesIO(data)))
Python
[解决办法]
a,
表示一个tuple即(a,)

Python中是可以这样赋值的:
a, b, c = 1, 2, 3

当b和c都缺失时:
a, = 1, 2, 3
表示a赋1,

对比:
a = 1, 2, 3
表示a为(1, 2, 3)

对比:
a = 1,
表示a为(1,)
[解决办法]
测试一下不就不用听别人忽悠了?
>>> a,b=(1,3)
>>> a
1
>>> a,=(1,3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> a,=1,2,3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

读书人网 >perl python

热点推荐