逗号在python的解包中意味着什么?

Cod*_*for 5 python comma unpack

我们可以简单地使用:

crc = struct.unpack('>i', data)
Run Code Online (Sandbox Code Playgroud)

为什么人们喜欢这样:

(crc,) = struct.unpack('>i', data)
Run Code Online (Sandbox Code Playgroud)

逗号是什么意思?

NPE*_*NPE 10

第一个变量返回单元素元组:

In [13]: crc = struct.unpack('>i', '0000')

In [14]: crc
Out[14]: (808464432,)
Run Code Online (Sandbox Code Playgroud)

要获得价值,你必须写crc[0].

第二个变体解包了元组,使您可以编写crc而不是crc[0]:

In [15]: (crc,) = struct.unpack('>i', '0000')

In [16]: crc
Out[16]: 808464432
Run Code Online (Sandbox Code Playgroud)