मैं आज एक ब्लॉग में इस दिलचस्प आइटम पाया:ऐसा क्यों करता है जो यह करता है?
def abc():
try:
return True
finally:
return False
print "abc() is", abc()
किसी को भी बता सकते हैं कि क्यों यह यह क्या करता है?
धन्यवाद, के.आर.
मैं आज एक ब्लॉग में इस दिलचस्प आइटम पाया:ऐसा क्यों करता है जो यह करता है?
def abc():
try:
return True
finally:
return False
print "abc() is", abc()
किसी को भी बता सकते हैं कि क्यों यह यह क्या करता है?
धन्यवाद, के.आर.
अंत में ब्लॉक एक return
या break
बयान त्याग दिया जाता है
यह कोशिश करने के लिए python docu
में अंत में बयान को देखने का प्रयास न करें, आपने मुझे हराया :) –
जाओ विस्तार से समझाया गया है से परिणाम ब्लॉक की कोशिश शामिल है, तो कथन क्षेत्र:
http://docs.python.org/reference/compound_stmts.html
आखिरकार कथन अभी भी निष्पादित है। हालांकि वास्तव में दिलचस्प स्थिति। मैंने कुछ नया सीखा। :)
दस्तावेज़ों के लिए सूचक के लिए धन्यवाद। मैं वहाँ देखने के बारे में सोचने के लिए 'वापसी सच' से पहले नहीं मिल सका। दस्तावेज की
भाग पढ़ता है:
तो अंत में मौजूद है, यह एक 'सफाई' हैंडलर निर्दिष्ट करता है। कोशिश खंड मार डाला, है ...
जो पता चलता है कि यह सच है वापसी निष्पादित किया जाता है। हालांकि, बाद में स्पष्ट किया जाता है:
जब एक वापसी, तोड़ने या बयान जारी रखने के लिए कोशिश सुइट में एक कोशिश ... अंत में बयान के में मार डाला है, अंत में खंड भी रास्ते पर 'मार डाला जाता है आउट। '
जो मनाया व्यवहार बताता है।
किस तरह का दिमाग इस तरह के कुछ कोड को पहले स्थान पर सोचता है? ;)
हालांकि पूरी तरह से वही नहीं है, इसकी अच्छी चर्चा यहां पाई जा सकती है: http://stackoverflow.com/questions/1611561/python-error-handling-with-try-finally – dave
-1: किया http://docs.python.org/reference/compound_stmts.html#the-try-statement –