5

簡単に使用できます:

crc = struct.unpack('>i', data)

なぜ人々はこれが好きなのですか:

(crc,) = struct.unpack('>i', data)

コンマの意味は?

4

4 に答える 4

11

最初のバリアントは、単一要素のタプルを返します。

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
于 2012-12-15T17:14:20.447 に答える
2

unpackメソッドは値のタプルを返します。説明した構文を使用すると、タプルの最初の値を変数に直接ロードできますがcrc、最初の例ではタプル全体への参照があり、crc[1]後でスクリプトに記述して最初の値にアクセスする必要があります。

したがって、基本的に戻り値の 1 つだけを使用する場合は、このメソッドを使用して 1 つの変数に直接ロードできます。

于 2012-12-15T17:15:51.057 に答える
1

コンマはcrc、タプルの一部であることを示します。(興味深いことに、Python でタプルを示すのは括弧ではなくコンマです。)(crc,)は 1 つの要素を持つタプルです。

crc = struct.unpack('>i', data)

crcタプルを作ります。

(crc,) = struct.unpack('>i', data)

crcタプルの最初の (そして唯一の) 要素の値に代入します。

于 2012-12-15T17:14:08.050 に答える
1

(crc,)は 1 タプルと見なされます。

于 2012-12-15T17:14:51.510 に答える