मैंने हाल ही में पायथन 3.3 व्याकरण विनिर्देश को देखते हुए कुछ दिलचस्प देखा है। :
funcdef: "def" NAME पैरामीटर ["->" test] ":" सुइट
वैकल्पिक "एरो" ब्लॉक में अनुपस्थित था पायथन 2 और मुझे पायथन 3 में इसके अर्थ के बारे में कोई जानकारी नहीं मिली। यह पता चला कि यह सही पायथन है और इसे दुभाषिया द्वारा स्वीकार किया गया है:
def f(x) -> ; 123: रिटर्न x
मैंने सोचा कि यह किसी प्रकार की पूर्व शर्त सिंटैक्स हो सकता है, लेकिन:
- मैं
x यहां, क्योंकि यह अभी भी अपरिभाषित है,
- इससे कोई फर्क नहीं पड़ता कि मैं तीर के बाद क्या डालता हूं (उदाहरण के लिए
2 < 1
), यह फ़ंक्शन व्यवहार को प्रभावित नहीं करता है।
क्या इस वाक्यविन्यास शैली का आदी कोई व्यक्ति इसे समझा सकता है?