Почему допускается добавление атрибутов к уже созданному объекту?
Я изучаю Python, и, хотя я думаю, что я понял всю концепцию и понятие Python, сегодня я наткнулся на кусок кода, который я не полностью понял:
Скажем, у меня есть класс, который должен определять Круги, но не имеет тела:
class Circle():
pass
Поскольку я не определил никаких атрибутов, как я могу это сделать:
my_circle = Circle()
my_circle.radius = 12
Странная часть в том, что Python принимает приведенное выше утверждение. Я нене понимаю, почему Python неподнятьundefined name error
, Я понимаю, что черездинамическая типизация Я просто привязываю переменные к объектам всякий раз, когда хочу, но не должент атрибутradius
существуют вCircle
класс, чтобы позволить мне сделать это?
РЕДАКТИРОВАТЬ: Много чудесной информации в ваших ответах!Спасибо всем за все эти фантастические ответы! Это'Жаль, что я могу отметить только один ответ.