On 12/5/2012 1:24 PM, Bruno Dupuis wrote:
On Wed, Dec 05, 2012 at 10:59:26AM -0700, Ian Kelly wrote:
On Wed, Dec 5, 2012 at 10:34 AM, Steven D'Aprano
<steve+comp.lang.pyt...@pearwood.info> wrote:
The difference is almost certain between the LOAD_CONST and the
LOAD_GLOBAL.
As to *why* there is such a difference, I believe that's a leftover from
early Python days when None was not a keyword and could be reassigned.
I think this should even be considered a bug, not just a missing
optimization. Consider:
This is definitely a bug
globals()['None'] = 42
def f(x):
... return None
... print(x)
...
f('test')
42
This one is pretty scary
The difference between `return None` and `return` leads to inconsistency and
is in contradiction with the specs, AFAIK. I'm glad we pointed this out.
You did not specify version, but I confirmed in 3.3.0. Please open a
tracker issue.
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list