Question on difference between LambdaType and FunctionType

Ian Kelly ian.g.kelly at gmail.com
Mon Nov 26 12:06:16 EST 2018


On Sun, Nov 25, 2018 at 2:00 PM Chris Angelico <rosuav at gmail.com> wrote:
>
> On Mon, Nov 26, 2018 at 7:55 AM Iwo Herka <iwoherka at gmail.com> wrote:
> >
> > > class Foo:
> > >    def setup(self): ...
> > >    __init__ = lambda self: self.setup()
> >
> > Sorry, didn't address this. This is fine too, since I'm assuming that
> > only methods named __init__ are allowed to mutate the object.
> > Because 'setup' is not '__init__' it's disqualified.
> >
>
> Ahh, okay. In that case, yeah, you can safely ignore lambda
> functions... until Python 3.8, when assignment expressions become a
> thing. (See PEP 572.) So if you want to do something hacky like using
> the __name__, go for it.

What about:

    __init__ = lambda self: setattr(self, 'foo', 'bar')

?



More information about the Python-list mailing list