Структуры.
Часто нужно иметь некоторую логическую структуру, содержащую в себе поля различных типов, причём добавлять поля нужно динамически, во время исполнения программы. Тогда можно использовать классы, которые на содержат никаких элементов, а затем произвольно добавлять любые поля:
class Employee: pass
john = Employee() # Создание пустой структуры
# Создаём и заполняем поля структуры john.name = 'Иван Иванович' john.dept = 'Программист' john.salary = 100000