2011-02-17 10 views
16

सबसे पहले, मुझे PEP 8 में इसका उत्तर नहीं मिला। इसका मतलब यह नहीं है कि यह वहां नहीं है। मुझे इस पर इंगित करने के लिए स्वतंत्र महसूस करें।पायथन में, क्या मुझे किसी ब्लॉक में वापसी के बाद अन्य का उपयोग करना चाहिए?

आप कौन सी शैली पसंद करते हैं?

पहले एक:

if spam: 
    # Do stuff. 
    return eggs 
else: 
    # Maybe do other stuff. 
    return parrots 

या दूसरा एक:

if spam: 
    # Do stuff. 
    return eggs 
# Maybe do other stuff. 
return parrots 
+12

@closers: मैं ** व्यक्तिपरक ** को समझता हूं, हालांकि मैंने ** और तर्कवादी ** नहीं होने का प्रयास किया था। लेकिन विषय बंद? एक कोडिंग शैली सवाल? – nmichaels

+0

यदि कोई "बाइकहेड समस्या" श्रेणी थी, तो मैं आपके प्रश्न को बंद करने के लिए वोट दूंगा। इसकी कमी, मुझे इसके जवाब देने के लिए मजबूर होना पड़ा :) –

+0

यदि अन्य ब्लॉक लंबा है तो मैं व्यक्तिगत रूप से दूसरी शैली का उपयोग करता हूं। यह कोड को चापलूसी और पढ़ने में आसान रखता है। –

उत्तर

11

यह निर्भर करता है, अगर आप तोते वापस आते हैं, जब आप अंडे नहीं लौटते हैं, तो पहला व्यक्ति अधिक स्पष्ट होता है। लेकिन यदि आप किसी त्रुटि या ऐसा कुछ पकड़ने की कोशिश कर रहे हैं, तो दूसरा बेहतर होगा।

8

पहले एक!

स्पष्ट से स्पष्ट स्पष्ट है।

7

दूसरा वाला! कम है, और अधिक बेहतर है।

-8

मैं अजगर पता नहीं है, लेकिन मुझे क्या करना:

return spam if eggs else parrots 

संपादित: मैं क्या सामान हिस्सा नोटिस नहीं किया था। उस स्थिति में, मैं प्रत्येक शाखा के लिए एक और विधि या फ़ंक्शन (जो भी इसे पायथन में कहा जाता है) बनायेगा।

+4

यह वर्तनी है: पायथन में स्पैम अन्य तोते अगर अंडे लौटाएं। –

+10

आपने '#do सामान' छोड़ा था। इसके अलावा, आप पाइथन को नहीं जानते हैं। – geoffspear

3

न तो!

if spam: 
    # Do Stuff 
    result= eggs 
else: 
    # Maybe do other stuff 
    result= parrots 
return result 
+13

शिशु में पास्कल के अत्यधिक जोखिम का लक्षण :-) –

+3

@ जॉन माचिन: ​​आरोप के रूप में दोषी। और बहुत अधिक औपचारिक सिद्धांत। 'वापसी' से पहले लॉगिंग और औपचारिक दावे जोड़ना आसान है। –

+8

मुझे कभी भी एक प्रविष्टि, प्रोग्रामिंग की एक निकास शैली पसंद नहीं आया है। यदि आप अपनी विधि के साथ कर रहे हैं और आपको वास्तव में वापस लौटने की ज़रूरत है ... वापसी! मुझे लगता है कि बर्बाद परिणाम चर के साथ ढेर चढ़ता है। –

4

यह वास्तव में कोई फर्क नहीं पड़ता। यदि आपको वास्तव में एक को चुनने के कारणों की आवश्यकता है, तो उस कोड का उपयोग करें जो कोड के पीछे कारणों को सबसे अच्छी तरह से व्यक्त करता है। पहला अगर दोनों मामले किसी तरह के समान या समान रूप से महत्वपूर्ण हैं। दूसरा अगर आप आम तौर पर तोते वापस करते हैं लेकिन अंडे एक विशेष मामला है।

5

दूसरा। यह न केवल return पर लागू होता है बल्कि break और continue कथन पर भी लागू होता है। else और परिणामी इंडेंटेशन आंखों में परेशान और अंतरिक्ष की बर्बादी है।

0

मुझे लगता है कि यह "काम करने" भाग पर निर्भर करता है। दोनों स्वीकार्य हैं।

संबंधित मुद्दे