私はこれを見つけましたが、たとえそれであっても、Pythonのメソッド連鎖を理解できませんでした。基本的なメソッド連鎖
ここで目標は2つです。コーディングの問題を解決し、メソッド連鎖を理解します(私は依然として100%自信を持って呼び出し可能です)。
問題の定義に至るまで。
2つのメソッドを持つクラスが必要です.1つはobject = 'line'のパラメータを設定し、もう1つは 'bar'に上書きします。
これは私がこれまでに得たものである:
class foo():
def __init__(self, kind=None):
self.kind = kind
def __call__(self, kind=None):
return foo(kind=kind)
def my_print(self):
print (self.kind)
def line(self):
return self(kind='line')
def bar(self):
return self(kind='bar')
悲しいことに、このコードで、私はこの
a = foo()
a.bar().line().bar().bar().line().my_print()
をやって私の目標を達成することができます。しかし、私はこれを書くことで同じ結果を得るしたいと思いますコード
a = foo()
a.bar.line.bar.bar.line.my_print()
どうすればよいですか?私は__call__
メソッドをどのように定義したのか何か間違っていると思います。あなたの助けを前にありがとう。
感謝!! – Pezze