Hi all, there are a couple of threads on lambdas today, which got me curious about their differences as far as bytecode goes:
planck[~]|2> lf=lambda x: x**2 planck[~]|3> def ff(x): return x**2 |.> planck[~]|4> import dis planck[~]|5> dis.dis(lf) 1 0 LOAD_FAST 0 (x) 3 LOAD_CONST 1 (2) 6 BINARY_POWER 7 RETURN_VALUE planck[~]|6> dis.dis(ff) 1 0 LOAD_FAST 0 (x) 3 LOAD_CONST 1 (2) 6 BINARY_POWER 7 RETURN_VALUE 8 LOAD_CONST 0 (None) 11 RETURN_VALUE Can someone explain to me what the extra two bytecodes at the end of the function version (ff) are for? This is just curiosity, please note that I am NOT making any arguments pro or against lambdas, functions or anything else. Cheers, f -- http://mail.python.org/mailman/listinfo/python-list