में डिफ़ॉल्ट पैरामीटर कहां है, मुझे लगता है कि कई लोगों ने पाइथन के फ़ंक्शन को देखा है जो डिफ़ॉल्ट पैरामीटर प्राप्त करता है। उदाहरण के लिए:पायथन फ़ंक्शन
def foo(a=[]):
a.append(3)
return a
अगर हम foo (का प्रयोग करके) इस समारोह फोन, उत्पादन पूर्णांक कॉल के बाद हर बार जोड़ देंगे, '3'।
जब यह फ़ंक्शन परिभाषित किया जाता है, तो वर्तमान वातावरण में 'foo' नामक फ़ंक्शन ऑब्जेक्ट को परिभाषित किया जाता है, और इस समय डिफ़ॉल्ट पैरामीटर मान का मूल्यांकन भी किया जाता है। प्रत्येक बार जब फ़ंक्शन को पैरामीटर के बिना बुलाया जाता है, तो मूल्यांकन पैरामीटर मान कोड के अनुसार बदला जाएगा।
मेरा प्रश्न है, यह मूल्यांकन पैरामीटर कहां है? क्या यह फ़ंक्शन ऑब्जेक्ट में है या फ़ंक्शन को कॉल करते समय यह विधि ऑब्जेक्ट में है? चूंकि पाइथन में सब कुछ एक वस्तु है, इसलिए 'ए' -> मूल्यांकन पैरामीटर का नाम बाध्यकारी नाम रखने के लिए कुछ जगह होनी चाहिए। क्या मैं इस समस्या को खत्म कर रहा हूं?
हां, लेकिन ओपी के रूप में '[]' के लिए 'a' का मैपिंग कहां है? – MattH
@MattH उत्तर को अपडेट किया गया, धन्यवाद। – bereal