Например, этот код является Python:
a = object()
a.b = 3
throws AttributeError: 'object' object has no attribute 'b'
Но этот фрагмент кода:
class c(object): pass
a = c()
a.b = 3
просто отлично. Почему я могу назначить свойство b, когда класс x не имеет этого свойства? Как я могу сделать, чтобы мои классы имели только определенные свойства?