eval calling lambda don't see self
<p>Here is a simple code illustrating the essence of a problem:</p>

<pre><code>class test:
    def __init__(self):
        self.var = 0
    def set(self, val):
        self.var = val
        print eval('map(lambda x: self.var*x, [1,2,3,4,5])')
f = test()
f.set(10)
</code></pre>

<p>It says </p>

<pre><code>NameError: global name 'self' is not defined
</code></pre>

<p>I know many people don't like eval but in my case I have to use it because it executes a math formula from the string entered by a user during programm execution.
Any suggestions is highly appreciated! Thanks in advance!</p>
