May-08-2017, 04:45 PM
You can't use annotations with lambdas, if that matters to you.
>>> def outer(): ... def inner(n: int) -> int: ... return n ** 2 ... return inner ... >>> x = outer() >>> x(4) 16 >>> def outer_lamb(): ... return lambda n: int -> int: n ** 2 File "<stdin>", line 2 return lambda n: int -> int: n ** 2 ^ SyntaxError: invalid syntax