は単純に使用することができます。Pythonのアンパックでコンマの意味は何ですか?
crc = struct.unpack('>i', data)
このような人理由:
(crc,) = struct.unpack('>i', data)
はカンマが何を意味するのでしょうか?
は単純に使用することができます。Pythonのアンパックでコンマの意味は何ですか?
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]
を記述する必要があります。
第二の変形はcrc
代わりのcrc[0]
を書くためにあなたを可能にする、タプルをアンパック:
In [15]: (crc,) = struct.unpack('>i', '0000')
In [16]: crc
Out[16]: 808464432
コンマは、crc
がタプルの一部であることを示します。 (興味深いことに、Pythonのタプルを示すのは括弧ではなくコンマです)(crc,)
は要素が1つのタプルです。
crc = struct.unpack('>i', data)
crc
をタプルにします。
(crc,) = struct.unpack('>i', data)
タプルの最初の(そして唯一の)要素の値にcrc
を割り当てます。
(crc,)
が1組と考えられています。
unpack
メソッドは、値のタプルを返します。説明する構文では、タプルの最初の値を変数crc
に直接ロードできますが、最初の例ではタプル全体への参照があり、後でcrc[1]
をスクリプトに記述して最初の値にアクセスする必要があります。
基本的に戻り値の1つだけを使用したい場合は、このメソッドを使用して1つの変数に直接ロードできます。