Я изучаю Python, и хотя я думаю, что понял всю концепцию и понятие Python, сегодня я наткнулся на фрагмент кода, который я не полностью понял:
Скажем, у меня есть класс, который должен определять круги, но не имеет тела:
class Circle():
pass
Поскольку я не определил никаких атрибутов, как я могу это сделать:
my_circle = Circle()
my_circle.radius = 12
Странная часть заключается в том, что Python принимает приведенное выше утверждение. Я не понимаю, почему Python не вызывает undefined name error
. Я понимаю, что с помощью динамической типизации я просто привязываю переменные к объектам, когда захочу, но разве в классе Circle
не должен существовать атрибут radius
, позволяющий мне это делать?
EDIT: в ваших ответах много полезной информации! Спасибо всем за все эти замечательные ответы! Жаль, что я могу отметить только один как ответ.