Справочник · модуль 9 «Объекты и классы»
Атрибут класса
Атрибут, записанный прямо в классе, общий для всех объектов. Своё у каждого объекта создают в __init__ через self.
Сравнение из жизни
Как правила игры, общие для всех игроков.
Пример
class Cat:
species = "кошка"
def __init__(self, name):
self.name = name
a = Cat("Бит")
b = Cat("Мурка")
print(a.species, b.species)
print(Cat.species)Результат
кошка кошка кошка
Учитель в уроке Атрибут, записанный прямо в классе, общий для всех объектов. Он как правила игры: одно на всех. Читать его можно и через объект, и через класс.
Запомнить
Атрибут класса — как правила игры. Они одни на всех игроков.
Частые ошибки новичков на этой теме
Кажется: Класс и объект — одно и то же
На самом деле: Класс — чертёж, объект — сделанная по нему вещь. Меняем нужный объект.
Кажется: Список в теле класса у каждого объекта свой
На самом деле: Своё у каждого объекта создаём в __init__ через self.
Тема из урока 9.4 «Много объектов» курса PythonAZ.