Compile time evaluation of dictionaries
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sat Mar 12 01:57:28 EST 2011
On Thu, 10 Mar 2011 11:23:32 -0500, Gerald Britton wrote:
> Today I noticed that an expression like this:
>
> "one:%(one)s two:%(two)s" % {"one": "is the loneliest number", "two":
> "can be as bad as one"}
>
> could be evaluated at compile time, but is not:
[...]
> Any idea why Python works this way? I see that, in 3.2, an optimization
> was done for sets (See "Optimizations" at
> http://docs.python.org/py3k/whatsnew/3.2.html) though I do not see
> anything similar for dictionaries.
Python is a language, what you are looking at is an implementation of
that language. Although I have never used it myself, apparently Cesare Di
Mauro's WPython does more constant folding optimizations than CPython.
See pages 21-24 of
http://wpython2.googlecode.com/files/Beyond%20Bytecode%20-%20A%20Wordcode-based%20Python.pdf
--
Steven
More information about the Python-list
mailing list