Showing content from http://mail.python.org/pipermail/python-dev/attachments/20061207/372b3526/attachment.html below:
<span>On 12/4/06, <span style="font-weight: bold;">Josiah Carlson</span> <<a href="mailto:jcarlson@uci.edu">jcarlson@uci.edu</a>> wrote:<br></span><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<span>With the proper mapping, this is trivial...</span><br><span></span><br><span>class namelookup:</span><br><span></span></blockquote><span><br>[...snip...] <br><br></span><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<span>>>> foo = foo()</span><br><span>>>> print "%(foo.b)i + %(foo.a)i"%namelookup(locals())</span><br><span>2 + 1</span><br><span>>>></span><br><span></span></blockquote><span><br>It can even be simpler and more powerful:
<br><br>class evallookup:<br> def __init__(self, nsg, nsl):<br> self.nsg = nsg<br> self.nsl = nsl<br> def __getitem__(self, name):<br> return eval(name, self.nsg, self.nsl)<br><br>class foo:<br> a = 1
<br> b = 2<br><br>>>> print "%(foo.a)i + %(foo.b)i = %(foo.a + foo.b)i" % evallookup(globals(), locals())<br>1 + 2 = 3<br>>>> <br></span>
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4