除了使用 变量: 类型
的语法格式 设置 类型注解 之外 ,
还可以 使用 注释语法 为 Python 变量 设置 类型注解 , 语法如下 :
# type: 类型名称
类型注解 不是 强制性的 , 只是提示性的 ;
不按照 类型注解进行 赋值 , 代码也不会报错 ;
为 基础类型变量 设置 " 类型注解 " :
# 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]
列表 数据容器类型 的 详细 类型注解 , 只需要设置一个元素类型即可 ;
list[int]
列表类型 , 列表的元素类型为 int 类型 ;元组 数据容器类型 的 详细 类型注解 , 需要为每个元素都进行类型标记 , 有几个元素就要标记几个类型 ;
tuple[int, bool]
元组类型 , 第一个元素类型是 int 数字类型 , 第二个元素类型是 bool 布尔类型 ;字典 数据容器类型 的 详细 类型注解 , 需要设置两个类型 , 第一个类型是 键值对 中的 键 Key 的类型 , 第二个类型是 键值对 中的 值 Value 的类型 ;
dict[str, int]
字段类型 , 键 Key 的类型是 str 字符串类型 , 值 Value 的类型为 int 数字类型 ;类型注解 完整代码示例 :
"""
类型注解 代码示例
"""
# 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