Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 28, 2014 13:03:16

Rozen
Зарегистрирован: 2014-08-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование переменной функции наследуемого класса.

Добрый день, столкнулся с такой казалось бы простой задачей, как использование переменной из класса от которого наследуемся в наследуемом классе.

class A(object):
    def foo(self):
        self.source= "source"
class B(A):
    self.target= self.source
Собственно вопрос в том как получить self.target из класса В

Офлайн

#2 Авг. 28, 2014 13:29:53

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Использование переменной функции наследуемого класса.

Rozen
Собственно вопрос в том как получить self.target из класса В
Где получить? Что ты вообще хочешь сделать?



Офлайн

#3 Авг. 28, 2014 14:53:21

GreyZmeem
От: Киев
Зарегистрирован: 2013-12-03
Сообщения: 147
Репутация: +  34  -
Профиль   Отправить e-mail  

Использование переменной функции наследуемого класса.

# -*- coding: utf-8 -*-
class A(object):
    def __init__(self):
        self.var1 = 'Var1'
class B(A):
    def __init__(self):
        self.var2 = 'Var2'
    def foo(self):
        print u'{} {}'.format(self.var1, self.var2)
B().foo()
Traceback (most recent call last):
File "D:\test.py", line 14, in <module>
B().foo()
File "D:\test.py", line 12, in foo
print u'{} {}'.format(self.var1, self.var2)
AttributeError: 'B' object has no attribute 'var1'

# -*- coding: utf-8 -*-
class A(object):
    def __init__(self):
        self.var1 = 'Var1'
class B(A):
    def __init__(self):
        super(B, self).__init__()
        self.var2 = 'Var2'
    def foo(self):
        print u'{} {}'.format(self.var1, self.var2)
B().foo()
Var1 Var2

Офлайн

#4 Авг. 29, 2014 10:55:22

Rozen
Зарегистрирован: 2014-08-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование переменной функции наследуемого класса.

GreyZmeem, спасибо)) Помогло)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version