There's the suggestion that Carl Johnson gave:
def myfunc(a, b, c else ): pass
def myfunc(a, b, c def ): pass
where 'def' stands for 'default' (or "defaults to").
I had the idea of def f(c=:): where ':' is intended to invoke the idea of lambda, since the purpose is to turn the expression into a function that is automatically called (which is why lambda alone is not enough). So I would prefer c = def  where def reads 'auto function defined by...'.
or c = lambda:: where the extra ':' indicates that that the function is auto-called
or c = lambda():, (now illegal), where () is intended to show that the default arg is the result of calling the function defined by the expression. lambda:() (now legal) would mean to (uselessly) call the function immediately.
Thinking about it, I think those who want a syntax to indicate that the expression should be compiled into a function and called at runtime should build on the existing syntax (lambda...) for indicating that an expression should be compiled into a function, rather than inventing a replacement for that.
Terry Jan Reedy