I am a beginner in Python, and I would like to add a parameter to a callback, in addition to the self and the event.
I have tried with lambda, but without success.
My code at the moment looks like this :
control = monitor(block, callback=self.model)
And my model is :
def model(self, transaction)
I would like to have :
def model(self, file, transaction)
file being a string parameter I would like to pass to my "model" I tried by changing the control line in :
control = monitor(block, lambda transaction, args=args: callback=self.model(transaction, args)
but this does not work, and it is getting too advanced but my python knowledge.
I get the following Error : "SyntaxError: lambda cannot contain assignment", I guess because of the = symbol.
Could you help me by explaining how I should proceed/what I am doing wrong ?
Many times, when you think about using lambda, it is best to use
functools.partial()
which performs currying (or curryfication). You can useTo answer your comment below, if you really need a true function, you can design you own: