簡単に使用できます:
crc = struct.unpack('>i', data)
なぜ人々はこれが好きなのですか:
(crc,) = struct.unpack('>i', data)
コンマの意味は?
最初のバリアントは、単一要素のタプルを返します。
In [13]: crc = struct.unpack('>i', '0000')
In [14]: crc
Out[14]: (808464432,)
値を取得するには、 と書く必要がありますcrc[0]
。
2 番目のバリアントはタプルをアンパックcrc
し、代わりにcrc[0]
次のように記述できるようにします。
In [15]: (crc,) = struct.unpack('>i', '0000')
In [16]: crc
Out[16]: 808464432
unpack
メソッドは値のタプルを返します。説明した構文を使用すると、タプルの最初の値を変数に直接ロードできますがcrc
、最初の例ではタプル全体への参照があり、crc[1]
後でスクリプトに記述して最初の値にアクセスする必要があります。
したがって、基本的に戻り値の 1 つだけを使用する場合は、このメソッドを使用して 1 つの変数に直接ロードできます。
コンマはcrc
、タプルの一部であることを示します。(興味深いことに、Python でタプルを示すのは括弧ではなくコンマです。)(crc,)
は 1 つの要素を持つタプルです。
crc = struct.unpack('>i', data)
crc
タプルを作ります。
(crc,) = struct.unpack('>i', data)
crc
タプルの最初の (そして唯一の) 要素の値に代入します。
(crc,)
は 1 タプルと見なされます。