簡體   English   中英

返回 lambda 的函數的類型注釋

[英]Type annotation for function returning a lambda

我非常喜歡在 Python 中使用類型注釋的想法。 在這個簡單的例子中,我知道如何做這樣的事情:

def foo(bar : int, lol : int) -> int:
     return bar*lol

但是當我的函數要返回一個 lambda 時,我不知道該怎么做:

def line(slope : float, b : float) -> lambda:
     return lambda x: slope*x + b

這個例子產生了一個錯誤,我想知道我應該為這個返回類型使用什么關鍵字。

也許這看起來不是很有用,但我想保持我的代碼一致的注釋並且無法使用這些類型的函數這樣做真的很困擾我。

提前致謝。

您可以使用Callable鍵入提示返回:

from typing import Callable

def line(slope: float, b : float) -> Callable[[float], float]:
     return lambda x: slope*x + b

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM