找回密码
 会员注册
查看: 26|回复: 0

Python类型注解⑤(Union联合类型注解Union联合类型语法普通容器变量设置Union联合类型注解函数设置Union联合类型注解)

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71625
发表于 2024-9-9 15:12:02 | 显示全部楼层 |阅读模式
文章目录一、Union联合类型1、数据容器的类型注解问题2、Union联合类型语法3、代码示例-普通变量设置Union联合类型注解4、代码示例-容器变量设置Union联合类型注解5、代码示例-函数中设置Union联合类型注解二、完整代码示例-Union联合类型一、Union联合类型1、数据容器的类型注解问题对list列表或dict字典类型设置类型注解,如果list列表中的元素都是int类型,dict字典中的键值对,键Key类型是str字符串类型,值Value的类型是int数字类型,那么,可以写成下面的形式;var_list:list[int]=[1,2,3]var_dict:dict[str,int]={"Tom":18,"Jerry":12,}12'运行运行假如list列表中的元素类型不是int类型,而是str类型或int类型,如下代码所示:var_list=[1,"Tom",2,"Jerry"]1'运行运行列表中的元素值,既有str字符串,又有int数字类型;假如dict字典中,键值对的键Key或值Value的类型并不是相同的,也是str类型或int类型,如下代码所示:var_dict={"Tom":"18","Jerry":12,}1'运行运行字典中的值Value,既有str字符串,又有int数字类型;2、Union联合类型语法如果一个变量或元素,其类型可能是多种类型,那么可以使用Union联合类型表示;导入依赖:使用Union联合类型,需要导入如下依赖;#导入Union联合类型依赖fromtypingimportUnion12'运行运行Union联合类型语法:Union[类型1,类型2,...,类型n]13、代码示例-普通变量设置Union联合类型注解代码示例:下面的3个变量,其类型注解设置的Union联合类型,也就是为其赋值时,可以赋值str字符串类型或int数字类型的值;var_i:Union[str,int]=0var_s:Union[str,int]="Tom"var_n:Union[str,int]=None1234、代码示例-容器变量设置Union联合类型注解在list列表中将元素类型设置为Union联合类型:列表中的元素既可以设置为str字符串类型,又可以设置为int数字类型;var_list:list[Union[str,int]]=[1,"Tom",2,"Jerry"]1在dict字段中将键值对的元素类型设置为Union联合类型:键值对既可以设置为str字符串类型,又可以设置为int数字类型;var_dict:dict[Union[str,int],Union[str,int]]={"Tom":"18","Jerry":12,}15、代码示例-函数中设置Union联合类型注解下面的函数的形参data,其设置的类型注解为Union[str,int]联合类型注解,函数的返回值类型是Union[str,int]联合类型注解;deffunc(data:Union[str,int])->Union[str,int]: pass12二、完整代码示例-Union联合类型代码示例:"""Union联合类型注解代码示例"""#导入Union联合类型依赖fromtypingimportUnionvar_i:Union[str,int]=0var_s:Union[str,int]="Tom"var_n:Union[str,int]=Nonevar_list:list[Union[str,int]]=[1,"Tom",2,"Jerry"]var_dict:dict[Union[str,int],Union[str,int]]={"Tom":"18","Jerry":12,}deffunc(data:Union[str,int])->Union[str,int]:pass12345678910111213141516171819'运行运行执行结果:\001_Develop\022_Python\Python39\python.exeD:/002_Project/011_Python/HelloPython/Hello.pyProcessfinishedwithexitcode01234
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 05:54 , Processed in 0.427105 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表