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

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

文章目录

  • 一、使用 注释语法 设置 类型注解
    • 1、使用 注释语法 设置 类型注解语法介绍
    • 2、为 基础类型变量 设置 " 类型注解 "
    • 3、为 类 的 对象类型 设置 " 类型注解 "
    • 4、为 基础容器类型变量 设置 简易 " 类型注解 "
    • 5、为 基础容器类型变量 设置 详细 " 类型注解 "
    • 6、完整代码示例
  • 二、类型注解没有强制性





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




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


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

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

# type: 类型名称

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

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


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


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

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

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


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

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


s = Student()                               # type: Student

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


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

# 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、为 基础容器类型变量 设置 详细 " 类型注解 "


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

# 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、完整代码示例


类型注解 完整代码示例 :

"""
类型注解 代码示例
"""

# 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]

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py

Process finished with exit code 0

在这里插入图片描述





二、类型注解没有强制性



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

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


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


代码示例 :

"""
类型注解 代码示例
"""

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

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

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
Jerry
Tom

Process finished with exit code 0

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

Expected type 'int', got 'str' instead

在这里插入图片描述


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

相关文章:

  • 激斗云计算:互联网大厂打响新一轮排位战
  • mysql,对表的简单操作
  • Python模块—PyMySQL模块
  • Vue和React的区别?
  • Java设计模式之行为型-责任链模式(UML类图+案例分析)
  • 可靠的手机问题修复工具分享 - 修复各种 Android 系统问题
  • el-checkbox和el-switch绑定一个Number值
  • ffmpeg分离左右声道到多音轨
  • python爬虫-获取headers(报文头)关键参数实例小记
  • 【雕爷学编程】Arduino动手做(06)---KY-038声音传感器模块4
  • 【仲裁器】轮询仲裁round-robin,rr
  • python 把txt文本的log日志倒序处理
  • TypeScript 学习笔记(二):接口与类型别名、字面量类型
  • 云和DevOps如何帮助加速数字化转型?
  • 万字解读 | 数据可视化平台--FineBI
  • Failed to connect to github.com port 443: Connection refused问题解决
  • 云计算的学习(二)
  • 6. 原型、原型链
  • 直流有刷电机
  • 【C】字符串函数和内存函数的介绍