पायथन भाषा में सभी पैरामीटर (तर्क) संदर्भ द्वारा पारित किए जाते हैं। इसका मतलब है कि यदि आप किसी फ़ंक्शन के भीतर पैरामीटर को संदर्भित करते हैं, तो परिवर्तन कॉलिंग फ़ंक्शन में भी वापस दिखाई देता है।
उदाहरण
#!/usr/bin/python # Function definition is here def changeme( mylist ): "This changes a passed list into this function" mylist.append([1,2,3,4]); print "Values inside the function: ", mylist return # Now you can call changeme function mylist = [10,20,30]; changeme( mylist ); print "Values outside the function: ", mylistप्रिंट करें
आउटपुट
यहां, हम पारित वस्तु का संदर्भ बनाए रखते हैं और उसी वस्तु में मूल्यों को जोड़ते हैं। तो, यह निम्नलिखित परिणाम देगा -
Values inside the function: [10, 20, 30, [1, 2, 3, 4]] Values outside the function: [10, 20, 30, [1, 2, 3, 4]]
एक और उदाहरण है जहां संदर्भ द्वारा तर्क पारित किया जा रहा है और संदर्भ को फ़ंक्शन के अंदर अधिलेखित किया जा रहा है।
उदाहरण
#!/usr/bin/python # Function definition is here def changeme( mylist ): "This changes a passed list into this function" mylist = [1,2,3,4]; # This would assig new reference in mylist print "Values inside the function: ", mylist return # Now you can call changeme function mylist = [10,20,30]; changeme( mylist ); print "Values outside the function: ", mylist
आउटपुट
पैरामीटर mylist फ़ंक्शन चेंजमे के लिए स्थानीय है। फ़ंक्शन के भीतर mylist बदलने से mylist प्रभावित नहीं होती है। फ़ंक्शन कुछ भी पूरा नहीं करता है और अंत में यह निम्नलिखित परिणाम देगा -
Values inside the function: [1, 2, 3, 4] Values outside the function: [10, 20, 30]