@nikweter
Системный администратор

Почему я не могу в python обратиться через super() к атрибутам родительского класса?

Ни разу не программист, но иногда одним глазом подглядываю. Стало любопытно - почему через super() можно обращаться к методам и свойствам родительского класса, а к атрибутам нельзя?

class User:
    count = 0
    def __init__(self, n, l, p):
        self.__name = n
        self.__login = l
        self.__password = p
        User.count += 1

class SuperUser(User):
    count = 0

    def __init__(self, n, l, p, role):
        super().__init__( n, l, p)
        self.__role = role
        SuperUser.count += 1
        super().count -= 1


Вот последняя строчка выдает AttributeError: 'super' object has no attribute 'count'
Объясните, пожалуйста.
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы