यह शैली का सवाल है (या वरीयता) क्योंकि दुभाषिया परवाह नहीं करता है। व्यक्तिगत रूप से मैं एक फ़ंक्शन के अंतिम विवरण को नहीं बनाने की कोशिश करूंगा जो फ़ंक्शन बेस के अलावा अन्य इंडेंट स्तर पर मान लौटाता है। उदाहरण 1 में दूसरा अस्पष्ट है, यदि केवल थोड़ा, जहां फ़ंक्शन का अंत है।
वरीयता द्वारा मैं उपयोग करता हूं:
return A+1 if (A > B) else A-1
चूंकि यह फ़ंक्शन में अंतिम विवरण (जैसा कि पहले ही उल्लेख किया गया है) और अनिवार्य शैली के मध्यवर्ती परिणामों से बचने के अच्छे कार्यात्मक प्रोग्रामिंग प्रतिमान के रूप में एकल रिटर्न स्टेटमेंट होने के दोनों अच्छे सम्मेलन का पालन करता है।
अधिक जटिल कार्यों के लिए, यदि संभव हो तो समयपूर्व रिटर्न से बचने के लिए मैं फ़ंक्शन को कई उप-कार्यों में तोड़ना पसंद करता हूं। अन्यथा मैं एक अनिवार्य शैली चर का उपयोग करने के लिए वापस आता हूं जिसे प्रतिद्वंद्वी कहा जाता है। मैं कई बार रिटर्न स्टेटमेंट्स का उपयोग नहीं करने की कोशिश करता हूं जब तक कि फ़ंक्शन तुच्छ नहीं है या एक त्रुटि के परिणामस्वरूप अंत से पहले रिटर्न स्टेटमेंट है। समय से पहले लौटना इस तथ्य को उजागर करता है कि आप पर नहीं जा सकते। जटिल कार्यों के लिए जिन्हें कई उप-वर्गों में विभाजित करने के लिए डिज़ाइन किया गया है, मैं उन्हें केस स्टेटमेंट के रूप में कोड करने की कोशिश करता हूं (उदाहरण के लिए एक तानाशाही द्वारा संचालित)।
कुछ पोस्टरों में ऑपरेशन की गति का उल्लेख किया गया है। रन-टाइम की गति मेरे लिए माध्यमिक है क्योंकि यदि आपको निष्पादन की गति की आवश्यकता है तो पायथन उपयोग करने के लिए सबसे अच्छी भाषा नहीं है। मैं पायथन का उपयोग इसकी कोडिंग की दक्षता के रूप में करता हूं (यानी त्रुटि मुक्त कोड लिखना) जो मेरे लिए मायने रखता है।