फ़ॉरवर्ड स्लैश (/) इंगित करता है कि इससे पहले के सभी तर्क केवल तर्कपूर्ण हैं। PEP 570 को स्वीकार किए जाने के बाद पाइथन 3.8 में पोजिशननल तर्कों को जोड़ा गया। प्रारंभ में इस अंकन को PEP 457 में परिभाषित किया गया था - पोजीशन-ओनली पैरामीटर्स के लिए नोटेशन की सूचना
फ़ंक्शन परिभाषा में पैरामीटर पूर्व फॉरवर्ड स्लैश (/) केवल स्थितीय हैं और स्लैश (/) द्वारा पीछा किए गए पैरामीटर सिंटैक्स के अनुसार किसी भी प्रकार के हो सकते हैं। जहां तर्कों को केवल एक फ़ंक्शन को कॉल करने पर उनकी स्थिति के आधार पर केवल मापदंडों को स्थित करने के लिए मैप किया जाता है। कीवर्ड (नाम) द्वारा केवल स्थिति-संबंधी पैरामीटर पास करना अमान्य है।
आइए निम्नलिखित उदाहरण लेते हैं
def foo(a, b, / , x, y):
print("positional ", a, b)
print("positional or keyword", x, y)
यहाँ उपरोक्त फ़ंक्शन परिभाषा में पैरामीटर a और b स्थिति-केवल हैं, जबकि x या y या तो स्थितीय या कीवर्ड हो सकते हैं।
निम्नलिखित फ़ंक्शन कॉल मान्य हैं
foo(40, 20, 99, 39)
foo(40, 3.14, "hello", y="world")
foo(1.45, 3.14, x="hello", y="world")
लेकिन, फंक्शन कॉल का पालन करना मान्य नहीं है, जो अपवाद को बढ़ाता है। एक के बाद से, बी को कीवर्ड के बजाय स्थितीय तर्क के रूप में पारित नहीं किया जाता है
foo(a=1.45, b=3.14, x=1, y=4)
TypeError: foo () को कुछ स्थिति-संबंधी तर्क दिए गए जो कीवर्ड तर्क के रूप में पारित हुए: 'a, b'
अजगर में समारोह में निर्मित कई केवल तर्क को स्वीकार करते हैं जहां कीवर्ड द्वारा तर्क पारित करने का कोई मतलब नहीं है। उदाहरण के लिए अंतर्निहित फ़ंक्शन लेन केवल एक ही स्थिति (केवल) तर्क को स्वीकार करता है, जहां लेन को लेन के रूप में कहा जाता है (obj = "हैलो वर्ल्ड") पठनीयता की जांच करता है, मदद (लेन) की जांच करता है।
>>> help(len)
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
स्थितीय केवल पैरामीटर अंतर्निहित c / पुस्तकालय कार्यों को बनाए रखना आसान बनाते हैं। यह एपीआई का उपयोग करने वाले ग्राहक कोड को तोड़ने के जोखिम के बिना भविष्य में केवल परिवर्तनशील होने के लिए पैरामीटर के नाम के मापदंडों की अनुमति देता है
अंतिम लेकिन कम से कम, केवल स्थितीय पैरामीटर हमें उनके नामों का उपयोग करने की अनुमति देते हैं जिनका उपयोग परिवर्तनीय लंबाई कीवर्ड तर्कों में किया जा सकता है। निम्न उदाहरण देखें
>>> def f(a, b, /, **kwargs):
... print(a, b, kwargs)
...
>>> f(10, 20, a=1, b=2, c=3) # a and b are used in two ways
10 20 {'a': 1, 'b': 2, 'c': 3}
पाइथन में फ़ंक्शन तर्क के प्रकारों में यहां स्थितीय केवल पैरामीटर बेहतर समझाया गया है : स्थिति केवल पैरामीटर
स्थिति-केवल पैरामीटर सिंटैक्स आधिकारिक तौर पर python3.8 में जोड़ा गया था। चेकआउट क्या नया python3.8 है - स्थिति केवल तर्क
पीईपी संबंधित: पीईपी 570 - पायथन पोजिशनल-ओनली पैरामीटर्स
/
टोकन चुनना , क्योंकि "यह उलटा ऑपरेशन है*
" दिखाता है, कि पायथन बस थोड़ा सा पागल है। यह एक प्रकार का सिन्थेसिया है।