python如何使用typing模块加强代码的可读性
这篇文章主要为大家展示了“python如何使用typing模块加强代码的可读性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用typing模块加强代码的可读性”这篇文章吧。
一、需求描述
没有类型提示的编程,总觉得不太方便,好在python3.5以后内置了typing模块。
typing模块会对函数和变量类型进行注解。
但是Python 运行时不强制执行函数和变量类型注解,但这些注解可用于类型检查器、IDE、静态检查器等第三方工具。
官方网址:
typing --- 类型提示支持 — Python 3.10.1 文档
https://docs.python.org/zh-cn/3/library/typing.html
二、实战演练
1、体验注解功能
如下所示,定义变量类型而不赋值,那么在赋值的时候就会有相应的提示,但运行不报错
fromtypingimportAbstractSetfromtypingimportDictfromtypingimportGeneratorfromtypingimportListfromtypingimportMappingfromtypingimportOptionalfromtypingimportTuplefromtypingimportTypeVarfromtypingimportUnionlist_001:List[int]list_001=123
2、List和Dict的使用
#List的使用deftest_List(num:int)->List[int]:return[num,bool(num),str(num)]#只要有一个符合指定类型,就不会给出提示信息#Dict的使用deftest_Dict(num:int)->Dict[str,int]:#return{"num":"num",1:"str(num)","str(num)":1}#只要有一个符合指定类型,就不会给出提示信息#return{1:3}#如果是key是1,则会出现提示key应该是str#return{"1":3}print(test_Dict(5))
3、Union的使用
#List的使用deftest_List(num:int)->[intorstrorbool]:return[num,bool(num),str(num)]#只要有一个符合指定类型,就不会给出提示信息#Dict和Union的使用deftest_Dict(num:int)->Dict[str,Union[int,str,bool]]:#return{"num":"num",1:"str(num)","str(num)":1}#只要有一个符合指定类型,就不会给出提示信息#return{1:3}#如果是key是1,则会出现提示key应该是str#return{"1":3}print(test_List(1))print(test_Dict(5))
4、Optional的使用
这个参数可以为空或已经声明的类型,即 Optional[X] 等价于 Union[X, None]
#Dict和Optional的使用deftest_Dict(num:int)->Dict[str,Optional[str]]:#return{"num":"num",1:"str(num)","str(num)":1}#只要有一个符合指定类型,就不会给出提示信息#return{1:3}#如果是key是1,则会出现提示key应该是str#return{"1":3}deftest_Dict01(num:int)->Dict[str,Optional[int]]:#return{"1":None}
5、Tuple的使用
与列表一致,元组泛型要求每个位置的类型要一一对应
#Optional的使用deftest_Dict(num:int)->Dict[int,Tuple[int,int]]:#return{1:(1,2)}#return{1:(1)}#非一一对应的时候会给出提示
以上是“python如何使用typing模块加强代码的可读性”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!