title: eval calling lambda don't see self
body: <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>