您好,登录后才能下订单哦!
这篇文章主要为大家展示了“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、体验注解功能
如下所示,定义变量类型而不赋值,那么在赋值的时候就会有相应的提示,但运行不报错
from typing import AbstractSet from typing import Dict from typing import Generator from typing import List from typing import Mapping from typing import Optional from typing import Tuple from typing import TypeVar from typing import Union list_001:List[int] list_001 = 123
2、List和Dict的使用
# List的使用 def test_List(num: int) -> List[int]: return [num, bool(num), str(num)] # 只要有一个符合指定类型,就不会给出提示信息 # Dict的使用 def test_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的使用 def test_List(num: int) -> [int or str or bool]: return [num, bool(num), str(num)] # 只要有一个符合指定类型,就不会给出提示信息 # Dict和Union的使用 def test_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的使用 def test_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} def test_Dict01(num: int) -> Dict[str,Optional[int]]: # return {"1":None}
5、Tuple的使用
与列表一致,元组泛型要求每个位置的类型要一一对应
# Optional的使用 def test_Dict(num: int) -> Dict[int,Tuple[int,int]]: # return {1:(1,2)} # return {1:(1)} # 非一一对应的时候会给出提示
以上是“python如何使用typing模块加强代码的可读性”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。