В Python вы не можете получить доступ к локальным переменным функции или метода.Вы должны поместить a_value
в качестве атрибута self
вместо self.One
.
В Two вы получите доступ к self.One.a_value
, который будет обращаться к атрибуту a_value
объекта-метода self.One
.,Это происходит потому, что в Python все является объектом и имеет тип, который включает методы.
Таким образом, должно работать следующее:
class Test:
def One(self):
self.a_value = 10
return a_value
def Two(self):
b_value = self.a_value - 5
return b_value
В этом примере экземпляр Test
получитатрибут a_value
после того, как One был вызван в экземпляре.После вызова Two для экземпляра не будет никакого атрибута b_value
, поскольку он является только локальной переменной во время выполнения метода.