पायथन में, मैं समझता हूं कि डिफ़ॉल्ट तर्क अंत में आते हैं और गैर-डिफ़ॉल्ट तर्क डिफ़ॉल्ट तर्क का पालन नहीं कर सकते हैं। यह ठीक है। उदाहरण के लिए:डिफ़ॉल्ट और गैर-डिफ़ॉल्ट तर्कों का आदेश
>>> def foo(x=0, y):
return x, y
SyntaxError: non-default argument follows default argument
यह अपेक्षाकृत ठीक है।
हालांकि, जब मैं चाहता हूं कि पहला तर्क एक डिफ़ॉल्ट एक होना चाहिए? उदाहरण के लिए, जैसा उपर्युक्त कोड से स्पष्ट है, x
को पहला तर्क होना चाहिए और इसका 0 का डिफ़ॉल्ट मान होना चाहिए।
क्या ऐसा करना संभव है? मैं पूछ रहा हूँ क्योंकि भले range
समारोह में, मैं यह कुछ इस तरह है अनुमान लगा रहा हूँ:
def range(start=0, end):
pass
तो यह कैसे किया जाता है और यदि यह संभव नहीं है, यह कैसे range
द्वारा कार्यान्वित किया जाता? ध्यान दें कि मैं डिफ़ॉल्ट होने के पहले तर्क पर जोर दे रहा हूं, यह संपूर्ण बिंदु है। मैं उदाहरण के रूप में range
का उपयोग कर रहा हूं क्योंकि यह मेरी समस्या को पूरी तरह से फिट करता है। बेशक कोई range
def range(end, start=0)
के रूप में लागू कर सकता है, लेकिन यह बात नहीं है।
मेरे उत्तर के लगभग समान, लेकिन स्पष्ट और पांच मिनट पहले। तो, +1। –
अंतर्निहित के साथ स्थिरता के लिए 'चरण' तर्क जोड़ना चाहता है। –
+1। यह उत्तम है। मैं बेवकूफ महसूस नहीं कर रहा हूँ। – user225312