Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ferminhg/78fcb87f7f5229ee35ce54aafb70b1d0 to your computer and use it in GitHub Desktop.

Select an option

Save ferminhg/78fcb87f7f5229ee35ce54aafb70b1d0 to your computer and use it in GitHub Desktop.
nametuples alternative to define class
# Why Python is Great: Namedtuples
# Using namedtuple is way shorter than
# defining a class manually:
>>> from collections import namedtuple
>>> Car = namedtuple('Car', 'color mileage')
# Our new "Car" class works as expected:
>>> my_car = Car('red', 3812.4)
>>> my_car.color
'red'
>>> my_car.mileage
3812.4
# We get a nice string repr for free:
>>> my_car
Car(color='red' , mileage=3812.4)
# Like tuples, namedtuples are immutable:
>>> my_car.color = 'blue'
AttributeError: "can't set attribute"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment