В Python
мы можем динамически добавлять атрибуты к объекту (классу), например:
class Foo(object):
pass
foo = Foo()
foo.a = 10
Мой вопрос может быть немного теоретическим. Итак, это удобно. Но почему мы должны использовать эту функцию??? Есть ли конкретная ситуация, когда этот подход будет предпочтительнее? Что насчет инкапсуляции?