前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Python】类型注解 ③ ( 使用 # type: 类型 注释方式设置类型注解 | 类型注解是提示性而非强制性 )

【Python】类型注解 ③ ( 使用 # type: 类型 注释方式设置类型注解 | 类型注解是提示性而非强制性 )

作者头像
韩曙亮
发布于 2023-10-11 11:51:20
发布于 2023-10-11 11:51:20
60600
代码可运行
举报
运行总次数:0
代码可运行

一、使用 注释语法 设置 类型注解

1、使用 注释语法 设置 类型注解语法介绍

除了使用 变量: 类型 的语法格式 设置 类型注解 之外 ,

还可以 使用 注释语法 为 Python 变量 设置 类型注解 , 语法如下 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# type: 类型名称

类型注解 不是 强制性的 , 只是提示性的 ;

不按照 类型注解进行 赋值 , 代码也不会报错 ;

2、为 基础类型变量 设置 " 类型注解 "

为 基础类型变量 设置 " 类型注解 " :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1. 为 基础类型变量 设置 " 类型注解 "
var_int = 10                                # type: int
var_float = 3.14                            # type: float
var_bool = True                             # type: bool
var_str = "Tom"                             # type: str

3、为 类 的 对象类型 设置 " 类型注解 "

为 类 的 对象类型变量 设置 " 类型注解 " :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 2. 为 类 的 对象类型变量 设置 " 类型注解 "
class Student:
    pass


s = Student()                               # type: Student

4、为 基础容器类型变量 设置 简易 " 类型注解 "

为 基础容器类型变量 设置 简易 " 类型注解 " :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 3. 为 基础容器类型变量 设置 简易 " 类型注解 "
var_list = [1, 2, 3]                        # type: list
var_tuple = (1, 2, 3)                       # type: tuple
var_set = {1, 2, 3}                         # type: set
var_dict = {"Tom": 18, "Jerry": 12, }       # type: dict
var_str = "China"                           # type: str

5、为 基础容器类型变量 设置 详细 " 类型注解 "

为 基础容器类型变量 设置 详细 " 类型注解 " :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 4. 为 基础容器类型变量 设置 详细 " 类型注解 "
var_list_2 = [1, 2, 3]                      # type: list[int]
var_tuple_2 = (1, True)                     # type: tuple[int, bool]
var_set_2 = {1, 2, 3}                       # type: set[int]
var_dict_2 = {"Tom": 18, "Jerry": 12, }     # type: dict[str, int]

列表 数据容器类型 的 详细 类型注解 , 只需要设置一个元素类型即可 ;

  • list[int] 列表类型 , 列表的元素类型为 int 类型 ;

元组 数据容器类型 的 详细 类型注解 , 需要为每个元素都进行类型标记 , 有几个元素就要标记几个类型 ;

  • tuple[int, bool] 元组类型 , 第一个元素类型是 int 数字类型 , 第二个元素类型是 bool 布尔类型 ;

字典 数据容器类型 的 详细 类型注解 , 需要设置两个类型 , 第一个类型是 键值对 中的 键 Key 的类型 , 第二个类型是 键值对 中的 值 Value 的类型 ;

  • dict[str, int] 字段类型 , 键 Key 的类型是 str 字符串类型 , 值 Value 的类型为 int 数字类型 ;

6、完整代码示例

类型注解 完整代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
类型注解 代码示例
"""

# 1. 为 基础类型变量 设置 " 类型注解 "
var_int = 10                                # type: int
var_float = 3.14                            # type: float
var_bool = True                             # type: bool
var_str = "Tom"                             # type: str


# 2. 为 类 的 对象类型变量 设置 " 类型注解 "
class Student:
    pass


s = Student()                               # type: Student

# 3. 为 基础容器类型变量 设置 简易 " 类型注解 "
var_list = [1, 2, 3]                        # type: list
var_tuple = (1, 2, 3)                       # type: tuple
var_set = {1, 2, 3}                         # type: set
var_dict = {"Tom": 18, "Jerry": 12, }       # type: dict
var_str = "China"                           # type: str

# 4. 为 基础容器类型变量 设置 详细 " 类型注解 "
var_list_2 = [1, 2, 3]                      # type: list[int]
var_tuple_2 = (1, True)                     # type: tuple[int, bool]
var_set_2 = {1, 2, 3}                       # type: set[int]
var_dict_2 = {"Tom": 18, "Jerry": 12, }     # type: dict[str, int]

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py

Process finished with exit code 0

二、类型注解没有强制性

类型注解 不是 强制性的 , 只是提示性的 ;

不按照 类型注解进行 赋值 , 代码也不会报错 ;

下面的代码中 , 通过两种方式 为 变量设置了 int 类型的 类型注解 , 但是为其设置了 字符串类型的变量值 , 最终执行也没有报错 ;

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
类型注解 代码示例
"""

# 使用 变量: 类型 设置类型注解
var_jerry: int = "Jerry"
print(var_jerry)

# 使用 type: 类型 注释设置类型注解
var_tom = "Tom"                                # type: int
print(var_tom)

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
Jerry
Tom

Process finished with exit code 0

警告情况 : 没有报错 , 但是报了一条警告信息 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Expected type 'int', got 'str' instead
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、使用 注释语法 设置 类型注解
    • 1、使用 注释语法 设置 类型注解语法介绍
    • 2、为 基础类型变量 设置 " 类型注解 "
    • 3、为 类 的 对象类型 设置 " 类型注解 "
    • 4、为 基础容器类型变量 设置 简易 " 类型注解 "
    • 5、为 基础容器类型变量 设置 详细 " 类型注解 "
    • 6、完整代码示例
  • 二、类型注解没有强制性
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档