Здравствуйте, изучаю ООП в python 2.7. Не могу понять, что не так в этом коде:
class Person():
def __init__(self, name):
self.name = name
class EmailPerson(Person):
def __init__(self, name, email):
super(EmailPerson, self).__init__(name)
self.email = email
bob = EmailPerson('Bob', 'bob@gmail.com')
Класс EmalPerson - наследник класса Person. Он наследует из Person все то, что делает там метод __init__, кроме того, его __init__ содержит атрибут email. Синтаксис слова super() вроде как правильный: имя класса, который наследует, ссылка на объект (self), после чего метод класса Person, который наследуется. Что не так? Выдает ошибку:
Код:
TypeError: super() argument 1 must be type, not classobj
Но ведь EmailPerson - это не объект, а класс. В чем претензия?