python如何定义union

python如何定义union

作者:Joshua Lee发布时间:2026-01-05阅读时长:0 分钟阅读次数:27

用户关注问题

Q
Python中如何使用Union类型进行类型注解?

我在写Python代码时,想对变量使用联合类型进行注解,请问应该怎么定义Union类型?

A

使用typing模块中的Union定义联合类型

在Python中,可以通过导入typing模块的Union来定义联合类型。通过Union,可以指定变量或函数参数允许的多种类型。例如,from typing import Union,然后定义变量annotation为Union[int, str]表示该变量可以是整数或字符串。

Q
Python 3.10及以上版本如何简化Union类型写法?

听说Python3.10之后,可以更简洁地写Union类型,具体该怎么写?

A

使用竖线(|)操作符替代Union

从Python 3.10开始,可以使用竖线符号(|)来表示联合类型,替代原有的Union写法。比如,用str | int表示一个变量可能是字符串或整数,这种写法更简洁,并且易读。

Q
Union类型和Optional类型在Python中有何区别?

我看到Python中有Union,也有Optional,它们之间的关系和区别是什么?

A

Optional是Union的特殊形式,用于表示值可以为某类型或None

Optional[X]相当于Union[X, None],表示该值既可以是类型X,也可以是None。它是Union的简化用法,专门用来标注可能为空的类型。若要表示变量可能为某几个类型,则应使用Union。