Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 29, 2015 13:54:52

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Вопрос по наследованию.

Подскажите, можно ли при создании элемента подкласса добавить одну переменную так, чтобы остальные переменные, инициализируемые функцией __init__ родительского класса, не были затронуты?
Если я пишу

class My_HTMLParser(HTMLParser):
    def __init__(self):
        self.users = False
То получаю ошибку:
Traceback (most recent call last):
File “C:\Users\User\PycharmProjects\rating\rating1 - Copy.py”, line 40, in <module>
parser.feed(my_data)
File “C:\Python34\lib\html\parser.py”, line 164, in feed
self.rawdata = self.rawdata + data
AttributeError: ‘My_HTMLParser’ object has no attribute ‘rawdata’

То есть мне, получается, нужно полностью копировать содержимое __init__ родительского класса, но это извращение какое-то. Должен быть какой-то другой метод.
Мне нужно, чтобы в момент создания элемента класса My_HTMLParser в нем создавалась переменная self.users со значением False.

Офлайн

#2 Апрель 29, 2015 14:13:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по наследованию.

>>> from html.parser import HTMLParser
>>> 
>>> class H(HTMLParser):
...     def __init__(self):
...         super().__init__()
...         self.user = 'x'
... 
>>> h = H()
>>> h.feed('<html></html>')
>>> h.get_starttag_text()
'<html>'
>>>



Отредактировано py.user.next (Апрель 29, 2015 14:14:21)

Офлайн

#3 Апрель 29, 2015 14:26:01

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Вопрос по наследованию.

Спасибо большое!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version