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