पायथन में, मान लीजिए कि मेरे पास एक कार्य f
है जो मैं कुछ माध्यमिक तर्कों के साथ पास करना चाहता हूं (सादगी के लिए मान लें कि यह केवल पहला तर्क है जो चर बना रहता है)।functools.partial और इसी तरह के लैम्ब्डा के बीच मतभेद?
इन दो तरीकों (यदि कोई हो) के बीच अंतर क्या हैं?
partial
वस्तुओं की कक्षाओं में परिभाषित स्थिर तरीकों की तरह व्यवहार और उदाहरण दौरान बाध्य तरीकों में बदलना नहीं है देखो-अप विशेषता:# Assume secondary_args and secondary_kwargs have been defined import functools g1 = functools.partial(f, *secondary_args, **secondary_kwargs) g2 = lambda x: f(x, *secondary_args, **secondary_kwargs)
doc page for
partial
, उदाहरण के लिए, इस उद्धरण है।
क्या लैम्बडा-विधि कक्षा से आपूर्ति किए गए तर्कों से क्लास विधि बनाने के लिए उपयोग की जाती है (या तो कन्स्ट्रक्टर में या बाद में फ़ंक्शन के माध्यम से)?
मुझे लगता है कि मेरा प्रश्न लिंक किए गए एक से अलग है, हालांकि उस प्रश्न का शीर्ष उत्तर इतना गहन है कि यह जो कुछ भी मैं ढूंढ रहा था उससे भी अधिक (संयोग से) जवाब देता है। यदि यह एक डुप्लिकेट के रूप में बंद है तो मैं शिकायत नहीं करूंगा। – ely
मैं मानता हूं कि यह एक डुप्लिकेट नहीं है, मैंने आपका प्रश्न फिर से खोला है। अन्य संदर्भों के लिए, संबंधित प्रश्न [यहां] है (http://stackoverflow.com/questions/220658/what-is-the-difference-between-a-closure-and-a-lambda)। – wim