चेनिंग मैं इस method chaining in python पाया, लेकिन फिर भी इसके साथ मैं अजगर में विधि श्रृंखलन नहीं समझ सके।बुनियादी विधि
यहाँ लक्ष्यों दो हैं: कोडिंग समस्या का समाधान और विधि श्रृंखलन समझते हैं (यह देखते हुए कि मैं अभी भी callables साथ% नहीं 100 आश्वस्त हूँ)।
समस्या परिभाषा के लिए नीचे।
मैं एक वर्ग दो विधियों है कि चाहते हैं: एक वस्तु = 'लाइन' और 'बार' के लिए अन्य अधिलेखित कर देता है की एक पैरामीटर तय करता है।
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