python - 如何获取函数参数类型?
问题描述
例如我有foo(...)
:
def foo(arg1: str, arg2: int, ...):
...
我想得到这个:
{'arg1': str, 'arg2': int, ...}
如果有人知道答案,请与我分享。
解决方案
这可以通过__annotations__
Python 版本 >= 3.0 的函数对象的属性来访问:
type_annotation_dict = foo.__annotations__
这应该直接导致字典将参数名称映射到它们的类型注释:
{'arg1': str, 'arg2': int}
另见PEP 3107。
此外,typing
标准库模块具有get_type_hints
提供一些附加功能的功能。有关更多信息,请参阅有关此函数的 Python 文档。
推荐阅读
- javascript - TS1127:将 Guid 传递给 js 方法时,剃须刀页面上的字符无效
- java - ArrayList 设置和获取使我的代码越界
- python - 删除python中的标点符号
- c - 取消引用 NULL 指针 - Visual Studio
- c# - 来自 Unity 的 SQL ServerConnection
- javascript - 如何将此 JavaScript 代码放入循环中?
- postgresql - DBT 快照在“dbt 快照”上产生错误
- html - 文本区域对齐
- google-apps-script - 使用 setNumberFormat 将数字格式化为货币
- visual-studio - 断点无法在一个项目中绑定,但在另一个项目中没有