द्वारा कॉल विधियां मेरे पास निम्न श्रेणी है।स्ट्रिंग
func_list= ["function1", "function2", "function3"]
class doit(object):
def __init__(self):
for item in func_list:
if item == "function1":
self.function1()
elif item == "function2":
self.function2()
elif item == "function3":
self.function3()
def function1(self):
#do this
pass
def function2(self):
#do that
pass
def function3(self):
pass
तो इस वर्ग का एक उदाहरण बन जाता है, यह स्ट्रिंग की एक सूची से अधिक iterates और वास्तविक स्ट्रिंग पर निर्भर करता है तरीकों कहता है। सूची में तारों के संबंधित तरीकों के नाम हैं।
मैं इसे और अधिक सुरुचिपूर्ण तरीके से कैसे कर सकता हूं? मैं सूची में जोड़े गए प्रत्येक "फ़ंक्शन" के लिए एक और elif
-path जोड़ना नहीं चाहता हूं।
ध्यान दें, अपनी चर सूची को कॉल न करें, क्योंकि यह एक पायथन अंतर्निहित फ़ंक्शन का नाम है। 'मज़ेदार' या 'फ्लिस्ट' जैसी कुछ ठीक होगी;) – catchmeifyoutry
आपको स्ट्रिंग के बजाए फ़ंक्शन ऑब्जेक्ट्स को सूची में रखना चाहिए, और बस प्रत्येक को कॉल करना चाहिए। – Julian