añadiendo parámetro a la callback de Python

Soy un principiante en Python, y me gustaría agregar un parámetro a la callback, además del self y el evento. Lo he intentado con lambda, pero sin éxito.
Mi código en este momento se ve así:

control = monitor(block, callback=self.model) 

Y mi modelo es:

 def model(self, transaction) 

Me gustaría tener :

 def model(self, file, transaction) 

el archivo es un parámetro de cadena que me gustaría pasar a mi “modelo” que probé cambiando la línea de control en:

 control = monitor(block, lambda transaction, args=args: callback=self.model(transaction, args) 

pero esto no funciona, y se está haciendo demasiado avanzado, pero mi conocimiento de Python.
Me sale el siguiente error: “SyntaxError: lambda no puede contener la asignación”, supongo que debido al símbolo =.

¿Podría ayudarme explicando cómo debo proceder / qué estoy haciendo mal?

Muchas veces, cuando piensa en usar lambda, es mejor usar functools.partial() que realiza currying (o curryfication). Puedes usar

 from functools import partial def model(self, transaction, file=None): ... control = monitor(block, callback=partial(self.model, file='foobar')) 

Para responder a su comentario a continuación, si realmente necesita una función verdadera, puede diseñar su propia:

 def callback(func, **kwargs): @functools.wraps(func) def wrapper(*a, **k): return functools.partial(func, **kwargs)(*a, **k) return wrapper control = monitor(block, callback=callback(self.model, file='foobar'))