initで関数/メソッドを初期化しようとしています。 クラスAのself.yが正しい値10を返します。あるいは、Aのget_yメソッドを使用しますか?クラス構造内の変数の初期化
以下のコードとコメントを参考にしてください。示すように、おかげ
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