Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
class Dog:
sound = "woof"
a = Dog()
b = Dog()
a.sound = "grr"
Dog.sound = "bark"
print(a.sound, b.sound)grr bark
- Ждать
bark bark, будто изменение класса доходит до всех экземпляров:a.sound = "grr"создал атрибут самогоa, и он закрывает атрибут класса. - Ждать, что
b.soundостанетсяwoof, будто экземпляр копирует его при создании: своегоsoundуbнет, и он читает атрибут класса, теперьbark.
- Что напечатает
print(a.sound)послеdel a.sound? - Чем опасен список в атрибуте класса, если экземпляры добавляют в него элементы?