Bu method chaining in python numaralı belgeyi buldum, ancak Python'da zincirleme işlemini anlayamadım.Temel yöntem zincirleme
Burada hedefler iki: kodlama sorununu çöz ve yöntem zincirlemeyi anla ((hala% 100'lük callables ile güvenmem).
Sorun tanımına inersiniz.
İki yönteme sahip bir sınıf istiyorum: biri object = 'line' parametresini ve diğer 'over' yazısını 'bar' olarak ayarlar. ,
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')
Ne yazık ki bu kod ile ben amacım bu
a = foo()
a.bar().line().bar().bar().line().my_print()
yapıyor elde edebilirsiniz Ama bu yazarak aynı sonucu elde etmek istiyorum:
Bu
Bugüne kadar ne var koda = foo()
a.bar.line.bar.bar.line.my_print()
Bunu nasıl başarırım? __call__
yöntemini nasıl tanımladığımda yanlış bir şey olduğunu düşünüyorum. Yardımlarınız için şimdiden teşekkür ederiz.
Teşekkür !! – Pezze