Python : What are named tuples

Each kind of namedtuple is represented by its own class, created by using the namedtuple() factory function. The arguments are the name of the new class and a string containing the names of the elements.

You can basically think of namedtuples as a very quick way of creating a new object/class type with some attribute fields. For example:

from collections import namedtuple
Dog = namedtuple('Dog','age breed name')

sam = Dog(age=2,breed='Lab',name='Sammy')

frank = Dog(age=2,breed='Shepard',name="Frankie")

We construct the namedtuple by first passing the object type name (Dog) and then passing a string with the variety of fields as a string with spaces between the field names. We can then call on the various attributes:

__author__ = ‘asee2278’

from collections import namedtuple

dog = namedtuple(‘Dog’,”name color size”)
kallu = dog(name=”kallu”, color=”black”, size=”small”)
print kallu.name

Container = namedtuple(‘Container’, [‘name’, ‘date’, ‘foo’, ‘bar’])
mycontainer = Container(‘kallu’, ’07’, ‘foovalue’, ‘barvalue’)
print mycontainer