Я пытаюсь инициализировать функцию/метод прямо в init. поэтому self.y в классе A возвращает правильное значение 10. Или, может быть, использовать метод get_y в A?переменная инициализация в структуре класса
см. Приведенные ниже коды и комментарии. Благодаря
class A(object):
def __init__(self):
self.x = 5
self.y = None
# self.y = B.eval(self)?? # wants y to be a value obtained from B.eval()
def get_x(self):
return self.x
def get_y(self):
# wants y to be a value obtained from B.eval()
#return B.eval(self) ??
class B(object):
def eval(ClassA):
"""
:param ClassA: is an instance of A
:return: value
"""
return ClassA.get_x() + 5
a = A()
b = B()
print(a.get_y()) # wants value 10 printed out here
print(B.eval(a))
Неясно, что вы просите. Что вы хотите знать? – UnholySheep
Возможно, вы захотите изучить использование свойства 'property' -a - это атрибут, который автоматически запускает пользовательский код при его установке, получении или удалении: https://docs.python.org/2/library/functions. html # property – jez
Не могли бы вы дать менее абстрактный пример того, чего вы пытаетесь достичь? В чем смысл «B» вообще? – jonrsharpe