千家信息网

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

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了Python3.6怎么添加类型注释的验证的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python3.6怎么添加类型注释的验证文章都会有所收获,下面我们
千家信息网最后更新 2025年01月19日Python3.6怎么添加类型注释的验证

这篇文章主要介绍了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怎么添加类型注释的验证"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0