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模块中常用的数字类型注解,可以根据实际需求选择合适的注解来增加代码的可读性和可维护性。
