को छोड़कर मैं सोच रहा था कि नीचे दिए गए कार्यक्रम में प्रयास को छोड़कर धीमा क्यों है।पाइथन यदि बनाम कोशिश करें-
def tryway():
try:
while True:
alist.pop()
except IndexError:
pass
def ifway():
while True:
if alist == []:
break
else:
alist.pop()
if __name__=='__main__':
from timeit import Timer
alist = range(1000)
print "Testing Try"
tr = Timer("tryway()","from __main__ import tryway")
print tr.timeit()
print "Testing If"
ir = Timer("ifway()","from __main__ import ifway")
print ir.timeit()
मुझे मिलने वाले परिणाम दिलचस्प हैं।
Testing Try
2.91111302376
Testing If
0.30621099472
क्या कोई भी कुछ प्रकाश डाल सकता है क्यों प्रयास इतना धीमा है?
यह वास्तव में यहां लागू नहीं होता है, लेकिन कभी-कभी 'dis.dis (funcname)' को देखकर यह पता लगाने के लिए आसान होता है कि आंतरिक रूप से कुछ कैसे काम करता है – Daenyth