Почему в Python запрещено добавлять атрибуты после того, как класс уже определен? - PullRequest
1 голос
/ 28 декабря 2011

Например:

class Car:
  pass
jeep = Car()
jeep.color = 'blue'

Это совершенно законно и работает нормально. Я понимаю, что Python довольно динамичный, но не нарушает ли он какой-то принцип упа?

1 Ответ

2 голосов
/ 28 декабря 2011

http://docs.python.org/tutorial/classes.html#odds-and-ends

Для динамической настройки полей и значений, когда они могут быть известны только во время выполнения.

Python не запрещает вам динамически создавать свойства экземпляра, хотя вы можете решить не делать этого , если у вас нет очень веских причин для этого. Python является довольно мощным языком, хотя следует проявлять осторожность, чтобы не злоупотреблять такой силой, чтобы делать сумасшедшие вещи с его гибкостью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...