Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में फंक्शन के लिए डिफ़ॉल्ट पैरामीटर मान कैसे सेट करें?

पायथन का डिफ़ॉल्ट पैरामीटर मानों को संभालना उन कुछ चीज़ों में से एक है जो अक्सर नए पायथन प्रोग्रामर्स को परेशान करती है।

समस्या तब होती है जब एक "म्यूटेबल" (परिवर्तनीय) ऑब्जेक्ट को डिफ़ॉल्ट मान के रूप में उपयोग किया जाता है; यानी एक ऐसा मान जिसे स्थानांतरित करके संशोधित किया जा सकता है, जैसे सूची या डिक्शनरी।

समस्या

यदि कोई दूसरा आर्गुमेंट प्रदान नहीं किया जाता है, तो हर बार फंक्शन कॉल होने पर एक नई सूची बनती है, जिससे अपेक्षित आउटपुट मिलता है:

[12] [43]

लेकिन अगर म्यूटेबल डिफ़ॉल्ट आर्गुमेंट का उपयोग किया जाए, तो एक ही सूची हर कॉल में साझा होती है, क्योंकि पायथन डिफ़ॉल्ट आर्गुमेंट्स का मूल्यांकन केवल एक बार करता है जब फंक्शन परिभाषित होता है, हर कॉल पर नहीं।

समाधान

हर बार फंक्शन कॉल होने पर एक नया ऑब्जेक्ट बनाएं, डिफ़ॉल्ट आर्गुमेंट के रूप में None का उपयोग करके यह संकेत दें कि कोई आर्गुमेंट प्रदान नहीं किया गया था।

उदाहरण

def func(data=[]):
    data.append(1)
    return data

func()
func()

def append2(element, foo=None):
    if foo is None:
        foo = []
    foo.append(element)
    return foo

print(append2(12))
print(append2(43))

आउटपुट

[12] [43]
  1. - JavaScript फ़ंक्शन के लिए डिफ़ॉल्ट पैरामीटर मान कैसे सेट करें?

    यह फ़ंक्शन पैरामीटर्स को आसानी से संभालने के लिए आया। आप आसानी से डिफ़ॉल्ट पैरामीटर सेट कर सकते हैं ताकि औपचारिक पैरामीटर्स को डिफ़ॉल्ट मानों के साथ आरंभ करने की अनुमति मिल सके। यह केवल तभी संभव है जब कोई मान या undefined पास न किया गया हो। आइए एक उदाहरण देखें <html> <body>

  1. पायथन मैटप्लॉटलीब में मल्टीवेरिएट फंक्शन कैसे प्लॉट करें? पायथन मैटप्लॉटलीब में मल्टीवेरिएट फंक्शन कैसे प्लॉट करें?

    पायथन में मल्टीवेरिएट फंक्शन प्लॉट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: चरण फिगर साइज़ सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें। नम्पी का उपयोग करके रैंडम x, y और z डेटा पॉइंट्स बनाएं। एक फिगर और सबप्लॉट्स का सेट बनाएं। x, y और z डेटा पॉइंट्स के साथ स्कैटर प्लॉट बनाएं। स्

  1. Matplotlib Python में X-अक्ष मान कैसे सेट करें? Matplotlib Python में X-अक्ष मान कैसे सेट करें?

    Matplotlib Python में X-अक्ष मान सेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: x और y डेटा पॉइंट्स के लिए दो सूचियां बनाएं। xticks रेंज वैल्यू प्राप्त करें। plot() मेथड का उपयोग करके xtick रेंज वैल्यू और y डेटा पॉइंट्स के साथ लाइन प्लॉट करें। xticks() मेथड का उपयोग करके xticks को X-अक्ष