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

这篇具有很好参考价值的文章主要介绍了【Python】类型注解 ⑤ ( Union 联合类型注解 | Union 联合类型语法 | 普通 / 容器 变量设置 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,}

假如 list 列表 中的 元素类型不是 int 类型 , 而是 str 类型 或 int 类型 , 如下代码所示 :

var_list = [1, "Tom", 2, "Jerry"]

列表中的元素值 , 既有 str 字符串 , 又有 int 数字类型 ;


假如 dict 字典中 , 键值对 的 键 Key 或 值 Value 的类型 并不是相同的 , 也是 str 类型 或 int 类型 , 如下代码所示 :

var_dict = {"Tom": "18", "Jerry": 12,}

字典中的 值 Value , 既有 str 字符串 , 又有 int 数字类型 ;


2、Union 联合类型语法


如果一个 变量 或 元素 , 其类型 可能是多种类型 , 那么可以使用 Union 联合类型表示 ;

导入依赖 : 使用 Union 联合类型 , 需要导入如下依赖 ;

# 导入 Union 联合类型依赖
from typing import Union

Union 联合类型语法 :

Union[类型1, 类型2, ... , 类型n]

3、代码示例 - 普通变量设置 Union 联合类型注解


代码示例 : 下面的 3 个变量 , 其类型注解设置的 Union 联合类型 , 也就是为其赋值时 , 可以赋值 str 字符串类型 或 int 数字类型的值 ;

var_i: Union[str, int] = 0
var_s: Union[str, int] = "Tom"
var_n: Union[str, int] = None

4、代码示例 - 容器变量设置 Union 联合类型注解


在 list 列表中将元素类型设置为 Union 联合类型 : 列表中的元素 既可以设置为 str 字符串类型 , 又可以设置为 int 数字类型 ;

var_list: list[Union[str, int]] = [1, "Tom", 2, "Jerry"]

在 dict 字段中将 键值对的 元素类型设置为 Union 联合类型 : 键值对 既可以设置为 str 字符串类型 , 又可以设置为 int 数字类型 ;

var_dict: dict[Union[str, int], Union[str, int]] = {"Tom": "18", "Jerry": 12,}

5、代码示例 - 函数中设置 Union 联合类型注解


下面的 函数 的 形参 data , 其设置的 类型注解 为 Union[str, int] 联合类型注解 ,

函数 的 返回值类型是 Union[str, int] 联合类型注解 ;

def func(data: Union[str, int]) -> Union[str, int]:
	pass




二、完整代码示例 - Union 联合类型



代码示例 :

"""
Union 联合类型注解 代码示例
"""

# 导入 Union 联合类型依赖
from typing import Union

var_i: Union[str, int] = 0
var_s: Union[str, int] = "Tom"
var_n: Union[str, int] = None

var_list: list[Union[str, int]] = [1, "Tom", 2, "Jerry"]

var_dict: dict[Union[str, int], Union[str, int]] = {"Tom": "18", "Jerry": 12, }


def func(data: Union[str, int]) -> Union[str, int]:
    pass

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py

Process finished with exit code 0

【Python】类型注解 ⑤ ( Union 联合类型注解 | Union 联合类型语法 | 普通 / 容器 变量设置 Union 联合类型注解 | 函数设置 Union 联合类型注解 ),Python,python,开发语言,Union,联合类型,类型注解,原力计划文章来源地址https://www.toymoban.com/news/detail-690283.html

到了这里,关于【Python】类型注解 ⑤ ( Union 联合类型注解 | Union 联合类型语法 | 普通 / 容器 变量设置 Union 联合类型注解 | 函数设置 Union 联合类型注解 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TypeScript 学习笔记 环境安装-类型注解-语法细节-类-接口-泛型

    JavaScript的变量类型相当于是动态类型,可以跟随着赋值的改变而类型改变,函数的参数也没有设定类型,所以在定位错误以及安全性上不太够。 说明 1.TS不能被JS解析器直接执行,需要编译成JS执行 2.即使TS编译出错也可以编译成JS 1.TypeScript是什么? TypeScript 是类型安全的Ja

    2024年02月16日
    浏览(75)
  • 【Rust】001-基础语法:变量声明及数据类型

    “一切能用 Rust 重写的项目都将或者正在用 Rust 重写” Rust 入门与实践:https://juejin.cn/book/7269676791348854839?utm_source=course_list 代码演示 执行结果 依赖 Cargo.toxml 代码 执行命令 根目录执行 整型标量类型 只要记得最低从 8 开始,到 128 结束(当然,正常情况下我们最多用到 64,

    2024年02月10日
    浏览(48)
  • 联合体union

    结构体中的成员彼此是独立存在的,分布在不同的内存单元中 共用体的成员是“一体的”,使用同一个内存单元 小端:高位地址在高位,低位地址在低位 大端:高位地址在低位,低位地址在高位     

    2024年02月13日
    浏览(38)
  • 十五、联合体(union)

    十五、联合体(union) 1、union语法 ​ 联合体和结构体都是自定义数据类型 ,通过union可以创建一个联合体,union中的成员变量 共享内存 (即内存中有重叠的部分),因此union的数据类型大小由其最大的成员变量决定。 2、union的特点及使用 ①union中任意一个成员变量的变动,

    2024年02月05日
    浏览(49)
  • sql注入中的union联合查询,union select 1,2,3

    (此文章是记录本人对知识理解的随手笔记,内容不肯定百分百正确,如有错误望指出并谅解) union联合查询是为了判断SQL语句中哪个地方可以被代替,代替的地方是可以在网页上显示出来的 { 例:若 select 1,2,3; 中的2这个地方可以被代替,我们就可以通过一些SQL语句或数据库函

    2024年02月08日
    浏览(54)
  • C++面试经典问题-Union联合

    联合(union)是一种节省空间的特殊的类,一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。联合有如下特点: 默认访问控制符为 public 可以含有构造函数、析构函数 不能含有引用类型的成员 不能

    2024年01月16日
    浏览(42)
  • SQL注入之union 联合注入

    目录 一、union查询的特性 1.1、特性-1 1.2、特性-2 1.3、特性-3 二、union联合注入 2.1、让sqlib的Less-1页面显示出来2和3 2.2、MySQL中的一些函数 2.3、MySQL中的函数和union的联合使用方法 2.4、group_concat()函数 2.5、使用union和group_concat函数进行sql注入 2.6、分析注入过程 2.7、使用union获取

    2024年02月08日
    浏览(89)
  • SQL注入学习之union联合查询注入

    Ps:文章若有逻辑不正确的地方望评论指正! Ps:此处描述本文主要内容: 文章首先介绍了SQL注入的基本前提、原理及类型; 其次着重描述了union联合查询注入方式; 最后记录了在sqli-labs靶场的前4关中基于union联合查询注入的基本注入测试思路。 Ps:以下为正文内容,其中案

    2023年04月10日
    浏览(39)
  • 【ChatGPT辅助学Rust | 基础系列 | 基础语法】变量,数据类型,运算符,控制流

    本章节将详细介绍Rust的基础语法,包括变量,数据类型,运算符,以及控制流。每个部分都将提供详细的解释和代码示例,以便于理解和学习。 在编程语言中,变量是一种基本的概念,它们是用来存储数据的。在Rust中,变量的特性和其他语言有所不同。 在Rust中,变量的定

    2024年02月14日
    浏览(88)
  • 五、多表查询-3.4连接查询-联合查询union

    1、查询薪资低于5000的员工  2、查询年龄大于50岁的员工  3、将薪资低于5000的员工,和 年龄大于50岁的 员工全部查询出来(把上面两部分的结果集直接合并起来)  4、 去重 ,“鹿杖客”既薪资低于5000,年龄也大于50岁,所以有两条数据 union all 改为 union,即可去重    5、

    2024年02月11日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包