温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python3.6怎么添加类型注释的验证

发布时间:2022-02-19 16:48:43 来源:亿速云 阅读:146 作者:iii 栏目:开发技术

这篇文章主要介绍了Python3.6怎么添加类型注释的验证的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python3.6怎么添加类型注释的验证文章都会有所收获,下面我们一起来看看吧。

我有一个使用__annotations__字典的方法来检查类的所有属性是否有正确的值。它对于基本类型(如intstrbool)非常适用,但对于更复杂的元素(如typing)则不适用。工会或打字。可选(也是一个联盟)。

失败是由Union对象中的isinstance()方法引起的,该方法抛出TypeError。我甚至找不到一种方法来确保注释是一个Union,因此我无法验证一个值是否符合某个类型。

解决方法:

这个想法,正如GvR对这个问题的评论中提到的,是实现你自己的issubclass/isinstance版本,使用一些附加到类型的额外元数据:

>>> Union[int, str].__args__
(int, str)
>>> Union[int, str].__origin__
typing.Union

__args____origin__从Python 3.6.3开始可用。在较早的版本中可能不会,因为打字仍然是临时的。

关于“Python3.6怎么添加类型注释的验证”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python3.6怎么添加类型注释的验证”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI