han*_*cho 8 python type-hinting python-3.x
我开始在大型代码库中实现类型提示,该代码库由多个开发人员进行工作,以提高函数应作为参数的透明度。
我还想验证传递给函数的参数是否为正确的类型。
这在函数内部很容易做到,但这似乎不是pythonic。我想制作一个可以从函数传递args和类型的实用程序,如果为对应的arg传递了错误的类型,则会引发异常。
例:
def find_integer_sum(a: int, b: int):
utility.validate_args(args, types)
return a + b
Run Code Online (Sandbox Code Playgroud)
我想要的是以某种方式将args和类型传递给函数,而无需始终手动插入,utility.validate_args({a: int, b: int})
因为这样会很麻烦。
有没有一种方法可以使用其类型提示访问args?
从 Pythontyping
文档中,您可以使用typing.get_type_hints()
.
typing.get_type_hints(obj[, globals[, locals]])
返回包含函数、方法、模块或类对象的类型提示的字典。这通常与 相同
obj.__annotations__
。此外,编码为字符串文字的前向引用是通过在globals
和locals
命名空间中求值来处理的。如有必要,如果设置了Optional[t]
等于的默认值,则为函数和方法注释添加。None
对于一个类,返回一个通过逆序合并C
所有的字典构造的字典。__annotations__
C.__mro__
归档时间: |
|
查看次数: |
72 次 |
最近记录: |