当前位置: 首页 > news >正文

python---类型别名

文章目录

  • 基本用法
  • 现代 Python (3.10+) 语法
  • 应用场景
    • 1、简化复杂类型
    • 2、提高可读性
    • 3、文档化代码
  • 注意事项

类型别名是 Python 类型注解系统中用来为复杂类型创建简化的替代名称的功能。它们可以提高代码的可读性和可维护性。

基本用法

1、基本类型别名

MyInt = int
MyStr = str
MyList = list

2、使用 TypeAlias 和 typing 模块来定义类型别名:

from typing import TypeAlias, List, Dict# 简单别名
UserId: TypeAlias = int# 复杂类型别名
UserDict: TypeAlias = Dict[str, str]
NamesList: TypeAlias = List[str]

现代 Python (3.10+) 语法

Python 3.10 引入了更简洁的语法:

# Python 3.10+ 的简化语法
type UserId = int
type UserDict = dict[str, str]
type NamesList = list[str]
type Coordinate = tuple[float, float]

应用场景

1、简化复杂类型

from typing import Union

type JsonValue = Union[str, int, float, bool, None, list[‘JsonValue’], dict[str, ‘JsonValue’]]

2、提高可读性

type Point = tuple[float, float]

def distance(p1: Point, p2: Point) -> float:
return ((p1[0] - p2[0])**2 + (p1[1] - p2[1])**2)**0.5

3、文档化代码

type CustomerID = int # 表示客户唯一标识符
type OrderID = int # 表示订单唯一标识符

注意事项

1、类型别名不会创建新类型,只是为现有类型提供别名

2、类型别名在运行时会被擦除,仅用于静态类型检查

3、可以使用字符串字面量来前向引用尚未定义的类型

http://www.dtcms.com/a/322782.html

相关文章:

  • 1073. 沙漏
  • sqli-labs通关笔记-第40关 GET字符型堆叠注入(单引号括号闭合 手工注入+脚本注入两种方法)
  • J2000平赤道系、瞬时平赤道系与瞬时真赤道系
  • (论文速读)重新思考CNN生成网络中的上采样操作
  • 优先队列,链表优化
  • 2025-08-09通过授权码的方式给exe程序充值
  • 如何搭建ELK
  • C# DataGridView 添加进度条
  • 五、RuoYi-Cloud-Plus 前端项目部署以及如何改后端请求地址。
  • 《从零实现哈希表:详解设计、冲突解决与优化》
  • 09 【C++ 初阶】C/C++内存管理
  • 容器技术基础与实践:从镜像管理到自动运行配置全攻略
  • 【机器学习深度学习】模型选型:如何根据模型的参数算出合适的设备匹配?
  • Java 字符流与字节流详解
  • bms部分
  • 系统调用性能剖析在云服务器应用优化中的火焰图生成方法
  • 比亚迪第五代DM技术:AI能耗管理的深度解析与实测验证
  • Klipper-G3圆弧路径算法
  • Android MediaCodec 音视频编解码技术详解
  • 排序概念以及插入排序
  • Docker部署whisper转写模型
  • AI鉴伪技术:守护数字时代的真实性防线
  • 软件工程总体设计:从抽象到具体的系统构建之道
  • Python爬虫实战:研究PSpider框架,构建电商数据采集和分析系统
  • (LeetCode 每日一题) 231. 2 的幂 (位运算)
  • Python NumPy入门指南:数据处理科学计算的瑞士军刀
  • Redis缓存详解:内存淘汰和缓存的预热、击穿、雪崩、穿透的原理与策略
  • 深入理解C++多态:从概念到实现
  • AudioLLM
  • 人工智能-python-特征选择-皮尔逊相关系数