6. 类型注解

什么是类型注解

类型注解是开发者为变量、类属性、函数的形参或返回值指定预期的类型。

示例

home: str = '地球'

def sum_two_numbers(a: int, b: int) -> int:
    return a + b

类型注解的种类:

  1. 变量标注。
  2. 属性标注。
  3. 函数标注。

变量或类属性的标注

示例

# 变量标注和类属性标注示例

count: int = 0

class Dog:
    home: str = '地球'

count = 3.14

print(count)
print(Dog.home)

函数标注

针对函数形参或返回值的标注。

示例

# 函数标注示例
def sum_two_numbers(a: int, b: int) -> int:
    return a + b

print(sum_two_numbers(100, 200))

def add_two_element(x: int | str, y: int | str) -> int | str:
    return x + y

print(add_two_element(1, 2))
print(add_two_element('ABC', 'DEF'))

print(add_two_element(3.14, 0.618))

typing — 对类型提示的支持

模块:typing

作用

用于支持复杂类型的类型注解(Type Hints)

typing 中定义的常用类型

类型/语法
说明
int, str, bool
基础类型(直接使用 Python 内置类型)。
List[int]
列表,元素为 int 类型
Dict[str, int]
字典,键为 str,值为 int。
Tuple[int, str]
元组,固定长度和类型。
Union[int, str]
允许 int 或 str 类型(
Optional[str]
等价于 Union[str, None],表示可能为 None。
Callable[[int], str]
函数类型,参数为 int,返回 str。
Any
任意类型(禁用类型检查)。

示例

# typing 模块中定义的类型 示例

from typing import List

def mysum(data: List[int]) -> int:
    return sum(data)


lst = [1, 2, 3, 4, 5]
result = mysum(lst)
print('result:', result)