Я занимаюсь программированием на Java и недавно начал изучать Python по официальной документации.
Я вижу, что мы можем динамически добавлять атрибуты данных к объекту экземпляра в отличие от Java:
class House:
pass
my_house = House()
my_house.number = 40
my_house.rooms = 8
my_house.garden = 1
Мой вопрос: в каких ситуациях эта функция используется? Каковы преимущества и недостатки по сравнению с тем, как это делается в Java?