Почему экземпляры моего подкласса не содержат атрибуты базового класса (что вызывает ошибку AttributeError при попытке иPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему экземпляры моего подкласса не содержат атрибуты базового класса (что вызывает ошибку AttributeError при попытке и

Сообщение Anonymous »

У меня есть этот базовый класс и подкласс:

Код: Выделить всё

class Event:
def __init__(self, sr1=None, foobar=None):
self.sr1 = sr1
self.foobar = foobar

# Event class wrappers to provide syntatic sugar
class TypeTwoEvent(Event):
def __init__(self, level=None):
self.sr1 = level
Позже, когда я пытаюсь проверить атрибут foobar экземпляра TypeTwoEvent, я получаю исключение. Например, тестируем это на REPL:

Код: Выделить всё

>>> event = TypeTwoEvent()
>>> event.foobar
Traceback (most recent call last):
File "", line 1, in 
AttributeError: 'TypeTwoEvent' object has no attribute 'foobar'
Я думал, что атрибуты базового класса будут унаследованы подклассом и что создание экземпляра подкласса создаст экземпляр базового класса (и, таким образом, вызовет его конструктор). Поэтому я ожидал, что для значения атрибута foobar по умолчанию будет установлено значение None.
Почему экземпляры TypeTwoEvent не имеют атрибута foobar , хотя экземпляры Event это делают?

Подробнее здесь: https://stackoverflow.com/questions/102 ... class-caus
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»