[Python-Dev] features i'd like [Python 3000?] ... #4: interpolated strings ala perl

Alexey Borzenkov snaury at gmail.com
Thu Dec 7 21:01:46 CET 2006


On 12/4/06, Josiah Carlson <jcarlson at uci.edu> wrote:

> With the proper mapping, this is trivial...
>
> class namelookup:
>

[...snip...]

>>> foo = foo()
> >>> print "%(foo.b)i + %(foo.a)i"%namelookup(locals())
> 2 + 1
> >>>
>

It can even be simpler and more powerful:

class evallookup:
   def __init__(self, nsg, nsl):
      self.nsg = nsg
      self.nsl = nsl
   def __getitem__(self, name):
      return eval(name, self.nsg, self.nsl)

class foo:
   a = 1
   b = 2

>>> print "%(foo.a)i + %(foo.b)i = %(foo.a + foo.b)i" %
evallookup(globals(), locals())
1 + 2 = 3
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20061207/372b3526/attachment.html 


More information about the Python-Dev mailing list