【发布时间】:2018-08-10 13:07:45
【问题描述】:
我想在我的项目中实现 Python 3.6 类型注释的验证。
我有一个方法使用__annotations__ dict 来检查类的所有属性是否具有正确的值。它适用于int、str 或bool 等基本类型,但对于typing.Union 或typing.Optional(也是一个联合)等更复杂的元素则无效。
失败是由抛出TypeError 的Union 对象中的isinstance() 方法引起的。我什至找不到确保注释是联合的方法,因此我无法验证值是否符合类型。
typing 模块没有任何解决方案。有没有办法验证指定的变量是否符合typing.Union?
【问题讨论】:
标签: python python-3.x python-3.6 type-hinting