Py学习  »  Python

如何在Python中表示参数化类型?

RussAbbott • 5 年前 • 1767 次点击  

在哈斯克尔, foldm foldl )有这种类型。

foldM :: (Monad m) => (a -> b -> m a) -> a -> [b] -> m a

(见 this

Python等价物可以这样声明。

a = TypeVar('a')
b = TypeVar('b')
def foldM(f: Callable[[a, b], Monad], acc: a, xs: List[b]) -> Monad:
    ...

Monad 按类型参数化 a Monad[a] ,但这是无效的。有办法吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53974
 
1767 次点击  
文章 [ 1 ]  |  最新文章 5 年前