2012-12-15 18 views

Odpowiedz

10

Pierwszy wariant zwraca pojedynczego elementu krotki:

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

In [14]: crc 
Out[14]: (808464432,) 

dostać się do wartości, trzeba napisać crc[0].

Drugi wariant rozpakowuje krotki, umożliwiając pisanie crc zamiast crc[0]:

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

In [16]: crc 
Out[16]: 808464432 
0

Przecinek oznacza crc jest częścią krotki. (Interesujące jest, że to przecinki, a nie nawiasy, wskazują krotki w Pythonie.) (crc,) to krotka z jednym elementem.

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

tworzy crc krotkę.

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

przypisuje crc wartości pierwszej (i jedynym) elementu w krotce.

0

(crc,) jest uważany za jeden krotki.

2

Metoda unpack zwraca krotkę wartości. Dzięki opisanej składni można bezpośrednio załadować pierwszą wartość krotki do zmiennej crc, podczas gdy pierwszy przykład ma odniesienie do całej krotki i trzeba uzyskać dostęp do pierwszej wartości, pisząc w późniejszym czasie skrypt crc[1].

Więc jeśli chcesz użyć tylko jednej z wartości zwracanych, możesz użyć tej metody, aby bezpośrednio załadować ją w jednej zmiennej.