本文简要介绍 python 语言中 matplotlib._api.select_matching_signature
的用法。
-
选择并调用接受
*args, **kwargs
的函数。funcs
是不应引发任何异常的函数列表(如果传递的参数与其签名不匹配,则TypeError
除外)。select_matching_signature
尝试使用*args, **kwargs
调用funcs
中的每个函数(按照给出的顺序)。因TypeError
失败的调用将被静默跳过。一旦调用成功,select_matching_signature
就会返回其返回值。如果没有函数接受*args, **kwargs
,则重新引发上次失败调用引发的TypeError
。调用者通常应确保任何
*args, **kwargs
只能绑定单个func
(以避免任何歧义),尽管select_matching_signature
不会检查这一点。注意
select_matching_signature
旨在帮助实现签名重载函数。一般来说,除了向后兼容性问题之外,应该避免使用此类函数。典型的使用模式是def my_func(*args, **kwargs): params = select_matching_signature( [lambda old1, old2: locals(), lambda new: locals()], *args, **kwargs) if "old1" in params: warn_deprecated(...) old1, old2 = params.values() # note that locals() is ordered. else: new, = params.values() # do things with params
它允许使用两个参数(
old1
和old2
)或单个参数(new
)调用my_func
。请注意,新签名是最后给出的,因此如果调用者传入的参数与任何签名都不匹配,则调用者会获得与新签名相对应的TypeError
。
用法
matplotlib._api.select_matching_signature(funcs, *args, **kwargs)
相关用法
- Python matplotlib semilogx用法及代码示例
- Python matplotlib semilogy用法及代码示例
- Python matplotlib subplots用法及代码示例
- Python matplotlib silent_list用法及代码示例
- Python matplotlib subplot2grid用法及代码示例
- Python matplotlib step用法及代码示例
- Python matplotlib subplot用法及代码示例
- Python matplotlib savefig用法及代码示例
- Python matplotlib axvspan用法及代码示例
- Python matplotlib Axes.get_legend_handles_labels用法及代码示例
- Python matplotlib AbstractMovieWriter用法及代码示例
- Python matplotlib triplot用法及代码示例
- Python matplotlib StarPolygonCollection.set_hatch用法及代码示例
- Python matplotlib Axes.hist用法及代码示例
- Python matplotlib boxplot用法及代码示例
- Python matplotlib InsetPosition用法及代码示例
- Python matplotlib ToolManager.toolmanager_disconnect用法及代码示例
- Python matplotlib Figure.set_size_inches用法及代码示例
- Python matplotlib figlegend用法及代码示例
- Python matplotlib Axes.step用法及代码示例
- Python matplotlib Axes.contour用法及代码示例
- Python matplotlib LassoSelector用法及代码示例
- Python matplotlib BrokenBarHCollection.set_hatch用法及代码示例
- Python matplotlib Axes.plot用法及代码示例
- Python matplotlib Axes.semilogx用法及代码示例
注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib._api.select_matching_signature。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。