Python类型标注新视角

Python类型标注的全新解读

目录

一. 为何需要类型注解
二. 变量的类型标注
(1) 语法格式
(2) 基础类型
(3) 类对象
(4) 数据容器
(5) 其他语法格式
三. 函数(方法)的类型标注
(1) 形参标注
(2) 返回值标注
四. Union类型

一. 为何需要类型注解

在代码中明确标注数据类型(进行显式说明),使用时可获取相关提示。它能协助像PyCharm这类第三方IDE工具进行类型推断,辅助代码提示。比如,当明确声明某个对象是list类型时,使用该对象时IDE能给出对应提示;而若未声明具体类型,使用时则不会有任何相关提示。

二. 变量的类型标注

用于提示变量的数据类型

(1) 语法格式

变量名: 数据类型 = 具体数值。需注意,Python的类型标注仅起提示作用,解释器不会依据类型标注对数值进行验证与判断,即便不匹配也不会引发错误。

(2) 基础类型

  • 整数类型标注示例:
var_1: int = 1314 
  • 浮点数类型标注示例:
var_2: float = 5.21 
  • 布尔类型标注示例:
var_3: bool = True  
  • 字符串类型标注示例:
var_4: str = "hhybd"  

(3) 类对象

# 定义学生类
class Student:
    pass

stu: Student = Student()  # 学生类类型标注

(4) 数据容器

  • 列表类型标注
  • 方式一:
my_list: list = [1, 2, 3]
  • 方式二(指定列表元素基础类型):
my_list: list[int] = [1, 2, 3]
  • 元组类型标注
  • 方式一:
my_tuple: tuple = (1, 2, 3)
  • 方式二(明确元组每个元素类型):
my_tuple: tuple[str, int, bool] = ("bd", 521, True)
  • 集合类型标注
  • 方式一:
my_set: set = {1, 2, 3}
  • 方式二(指定集合元素基础类型):
my_set: set[int] = {1, 2, 3}
  • 字典类型标注
  • 方式一:
my_dict: dict = {"hhbdy": 250}
  • 方式二(指定字典键值类型):
my_dict: dict[str, int] = {"hhbdy": 250}
  • 字符串类型标注
my_str: str = "hhybd"

(5) 其他语法格式

可在注释中进行类型标注,格式为# type:类型。示例:

stu = Student()  # type:Student
var_1 = 123  # type:int
my_list = [1, 2, 3]  # type:list
my_set = {1, 2, 3}  # type:set[int]

三. 函数(方法)的类型标注

用于标注形参和返回值的数据类型,类型标注仅起提示作用

(1) 形参标注

定义函数(方法)时,给形参加上类型标注。若未标注形参类型,使用形参时工具无提示,调用函数传参时也无法获取参数类型提示。语法格式:

def 函数方法名(形参名1:类型,形参名2:类型):
    函数体

(2) 返回值标注

语法格式:

def 函数方法名(形参名1:类型,形参名2:类型) -> 返回值类型:
    函数体

示例:

def add(x: int, y: int) -> int:
    return x + y

四. Union类型

联合类型标注,可在变量标注、函数(方法)形参和返回值标注中使用。需导入typing模块中的Union,当数据类型不唯一时可使用Union类型。
示例:
变量中使用:

from typing import Union
# 数据为字符串和整数
my_list: list[Union[str, int]] = [2, "hhy", 5, "bd", 0]
# 键为字符串,值为字符串和整数
my_dict: dict[str, Union[str, int]] = {"name": "hhy", "QS": 250}

函数中使用:

from typing import Union

# 接收字符串或整数,返回字符串或整数
def func(data: Union[int, str]) -> Union[int, str]:
    pass

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/13638.html

(0)
LomuLomu
上一篇 2025 年 9 月 19 日
下一篇 2025 年 9 月 19 日

相关推荐

  • IDEA 破解教程可直接用

    IntelliJ IDEA 2025永久激活教程:破解补丁下载与激活码使用指南(亲测有效) 重要声明:本文分享的IntelliJ IDEA破解补丁及激活码均为网络收集资源,仅供个人学习研究使用,严禁商业用途。若涉及版权问题,请联系作者删除。经济条件允许的用户,强烈建议购买官方正版授权! IntelliJ IDEA是JetBrains公司推出的强大集成开发环境…

    IDEA破解教程 2025 年 12 月 28 日
    10200
  • datagrip激活码合集2025版含破解说明

    申明:本教程 DataGrip破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! DataGrip是 JetBrains 推出的开发编辑器,功能强大,适用于 Windows、Mac 和 Linux 系统。本文将详细介绍如何通过破解补丁实现永久激活,解锁所有高级功能。 如果觉得破解麻烦,可以购买…

    DataGrip激活码 2026 年 1 月 26 日
    7500
  • 全网资源同步2025goland激活码,独家破解教程同步

    免责声明:以下破解补丁与激活码均源自互联网公开分享,仅供个人学习研究,禁止商业用途。如条件允许,请支持正版! GoLand 是 JetBrains 家族专为 Go 语言打造的 IDE,跨 Windows、macOS、Linux 三大平台,功能全面。下面手把手教你用破解补丁“永久解锁”全部高级特性,任何版本、任何系统都通用。 激活后界面预览 激活完成后,授权页…

    2025 年 11 月 28 日
    16800
  • 2025年最新PyCharm激活码与永久破解教程(支持2099年)

    本方法适用于Jetbrains全家桶,包括PyCharm、IDEA、DataGrip、Golang等所有产品! 先给大家看看最新PyCharm版本成功破解的截图,可以看到已经完美激活到2099年,非常稳定! 下面我将通过详细的图文步骤,手把手教你如何将PyCharm永久激活至2099年。 这个方法不仅适用于最新版本,也兼容所有历史版本! 无论使用Window…

    PyCharm激活码 2025 年 8 月 20 日
    21600
  • IDEA破解版下载安装教程|附详细步骤!

    申明:本教程 IntelliJ IDEA 破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! 废话不多说,先上 IDEA 2025.2.1 版本破解成功的截图,如下图,可以看到已经成功破解到 2099 年辣,舒服的很! 接下来就给大家通过图文的方式分享一下如何破解最新的IDEA。 如果觉得破解…

    2025 年 10 月 1 日
    28500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信