given the following snippet:
def fun(ret):
    return ret
class A:
    def __init__(self):
        for string in ['a', 'b']:
            setattr(self, string, lambda: fun(string))
>>> a = A()
>>> a.a()
'b'
I want a method a() which returns 'a' and a method b() which returns 'b'. As long as I don't use a lambda expression but setting the attribute to a simple string, the association is correct.
I think my intention is clear? So where am I wrong?
 
    