2013-12-18 4 views
2

Я хочу получить переменную одного метода из другого метода в том же классе. Когда я использую getattr am, получаю возвращаемое значение этого метода, но мне нужно получить значение частности переменная этого method.I упоминалось подробности нижеКак получить переменную одного метода без использования getattr

class hai(): 
    def hel(self): 
    a=10 
    b=20 
    c=a+b 
    print c 
def hw(self): 
    d=10 
    print d 

в приведенной выше программе мне нужно получить доступ к значению переменной Ь в методе hw.I не может иметь возможность получить определенную переменную величину.

+1

Если вы «необходимость», чтобы получить доступ к '' b' внутри hw' извне, вы, вероятно, следует пересмотреть свой дизайн. – Hyperboreus

ответ

2

Добавьте его в класс, как этот

class hai(): 
    def __init__(self): 
    self.b = 0 
    def hel(self): 
    a=10 
    self.b=20 
    c=a+b 
    print c 
def hw(self): 
    d=10 
    print d, self.b 
+1

Если это не изменяемый объект. –

+0

@ IgnacioVazquez-Abrams Даже если он изменен, ссылка будет изменена, правильно? – thefourtheye

+0

@ thefourtheye: Нет. Если вы попробуете это со списком, все экземпляры будут иметь общий список. В этом случае вам нужно назначить 'self.b' в' __init__'. Вероятно, хорошо сделать то же самое даже с неизменяемыми объектами. – user2357112

Смежные вопросы