diff options
author | Raymond Hettinger <python@rcn.com> | 2008-05-23 17:21:44 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-05-23 17:21:44 +0000 |
commit | f6901e909f3badbe1abcd9e38e8de809beae0800 (patch) | |
tree | 6a45b6317afbeef3ff84ba9fb8a5f0f1357ccded | |
parent | 27e4a179f277b568f04d482765ab773068ae6ab6 (diff) | |
download | cpython-git-f6901e909f3badbe1abcd9e38e8de809beae0800.tar.gz |
Issue 2909: show how to name unpacked fields.
-rw-r--r-- | Doc/library/struct.rst | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst index e2443aa395..63bf9b178e 100644 --- a/Doc/library/struct.rst +++ b/Doc/library/struct.rst @@ -233,6 +233,16 @@ end, assuming longs are aligned on 4-byte boundaries. This only works when native size and alignment are in effect; standard size and alignment does not enforce any alignment. +Unpacked fields can be named by assigning them to variables or by wrapping +the result in a named tuple:: + + >>> record = 'raymond \x32\x12\x08\x01\x08' + >>> name, serialnum, school, gradelevel = unpack('<10sHHb', record) + + >>> from collections import namedtuple + >>> Student = namedtuple('Student', 'name serialnum school gradelevel') + >>> Student._make(unpack('<10sHHb', s)) + Student(name='raymond ', serialnum=4658, school=264, gradelevel=8) .. seealso:: |