Python 泛型函数调度

Posted

技术标签:

【中文标题】Python 泛型函数调度【英文标题】:Python generic functions dispatching 【发布时间】:2016-08-27 06:32:19 【问题描述】:

有什么方法可以调度参数可能是的函数:

单个 lambda 函数(即func(lambda x: x)) kwargs(即func(a='some sting', b='some other string')

在我看来,functools 中的 singledispatch 装饰器仅支持在第一个参数上分派,在我的情况下这是行不通的。我错过了什么吗?

【问题讨论】:

【参考方案1】:

你没有错过任何东西。单次派送不会解决您的问题

https://pypi.python.org/pypi/multipledispatch

可以帮助您处理位置参数,但不能帮助您处理关键字:(

【讨论】:

以上是关于Python 泛型函数调度的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中对函数(即“函数模板”)进行“泛型类型提示”?

Python:输入一个接收类型并返回该类型实例的泛型函数

C# 使用自定义的泛型函数/方法对泛型数组进行四则运算

TS泛型类、泛型接口、泛型函数

从没有参数的函数返回泛型

Kotlin泛型 ① ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 )