欢迎访问宙启技术站
智能推送

Python中typing模块的数字类型注解

发布时间:2024-01-13 19:32:09

在Python中,可以使用typing模块来为函数参数、返回值和变量添加类型注解。对于数字类型,typing模块提供了一些常用的注解。

1. int:表示整数类型。

from typing import int

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

result = add(5, 3)
print(result)  # 输出:8

2. float:表示浮点数类型。

from typing import float

def divide(x: float, y: float) -> float:
    return x / y

result = divide(5.0, 2.0)
print(result)  # 输出:2.5

3. complex:表示复数类型。

from typing import complex

def multiply(x: complex, y: complex) -> complex:
    return x * y

result = multiply(2+3j, 4+5j)
print(result)  # 输出:(-7+22j)

4. Union:表示多个类型中的一个。

from typing import Union

def square_root(x: Union[int, float]) -> float:
    return x ** 0.5

result1 = square_root(9)
result2 = square_root(2.5)
print(result1)  # 输出:3.0
print(result2)  # 输出:1.5811388300841898

5. Optional:表示可选类型,即None或某个特定类型。

from typing import Optional

def divide(x: float, y: Optional[float]) -> float:
    if y is not None:
        return x / y
    else:
        return 0

result1 = divide(6, 3)
result2 = divide(6, None)
print(result1)  # 输出:2.0
print(result2)  # 输出:0

6. Literal:表示字面量类型,只能是指定的几个值之一。

from typing import Literal

def check_status(status: Literal["active", "inactive"]) -> bool:
    if status == "active":
        return True
    else:
        return False

result1 = check_status("active")
result2 = check_status("pending")
print(result1)  # 输出:True
print(result2)  # 输出:False

这些是typing模块中常用的数字类型注解,可以根据实际需求选择合适的注解来增加代码的可读性和可维护性。