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

基于 Python typing 模块的类型标注

Python 是动态类型语言,运行时不强制要求函数与变量类型标注,但是也支持标注类型,以便于类型检查,IDE提示等,提高代码质量。
Python 默认的类型注释比较简单,Python 3.5 新增了 typing 模块,扩展了类型功能。

变量类型标注

age: int = 25
name: str = "张三"
print(age, ' ', name)

函数参数和返回值 类型标注

def hello(name: str) -> str:
    return "Hello, " + name

列表类型标注

from typing import List

numbers: list[int] = [1, 2, 3]
# 或
numbers1: List[int] = [1, 2, 3]

字典类型标注

from typing import Dict

user_info: dict[str, str] = {"name": "Alice", "age": "25"}
user_info1: Dict[str, str] = {"name": "Alice", "age": "25"}

元组类型标注

from typing import Tuple

numbers: tuple[int] = (1, 2, 3)
# 或
numbers1: Tuple[int] = (1, 2, 3)
print(type(numbers))
print(type(numbers1))

typing.Union

Union[X, Y] 等价于 X | Y ,意味着满足 X 或 Y 之一。
Union

typing.Optional : 可选

Optional[X] 等价于 X | None (或 Union[X, None] )。

相关链接

https://docs.python.org/zh-cn/3.13/library/typing.html#


http://www.kler.cn/a/550366.html

相关文章:

  • 力扣hot100_矩阵_python版本
  • ORB-SLAM3的源码学习:TwoViewReconstruction通过两幅图像来实现重建
  • 2024Selenium自动化常见问题及解决方式!
  • 【云原生】最新版Kubernetes集群基于Containerd部署
  • STM32 PWM脉冲宽度调制介绍
  • 又是阿里云npm install报错:ENOENT: no such file or directory, open ‘/root/package.json‘
  • Kubernetes控制平面组件:etcd常用配置参数
  • 抢占川南数字枢纽高地:树莓集团将翠屏区位优势转为产业胜势
  • JavaScript数组-数组的概念
  • Blackbox.AI:高效智能的生产力工具新选择
  • Web项目测试专题(七)安全性测试
  • (四)Axure学习图文教程
  • 如何提高网站在百度中的权重?
  • RV1126-正点原子
  • Gentleman:优雅的Go语言HTTP客户端工具包
  • 学习threejs,使用PointLight点光源
  • Lua | 面试题每日一练 (1)
  • AIP-146 泛化域
  • CentOS环境搭建DeepSeek本地知识库
  • LeetCode-633. 平方数之和