如何定义仅接受字符串数组或整数数组的Python函数?
实现支持字符串数组或整数数组的函数类型提示
你可以通过**联合类型(Union Type)**实现让函数同时接受list[str]或list[int]类型的参数,无需重复定义多个函数。具体分两种场景:
兼容Python 3.9及以下版本
使用typing.Union声明联合类型:
from typing import Union, List def process_array(param: Union[List[str], List[int]]) -> None: # 编写你的函数逻辑 print(f"处理的数组内容: {param}")
Python 3.10+ 简化写法
从Python 3.10开始,支持用|直接表示联合类型,无需导入Union:
def process_array(param: list[str] | list[int]) -> None: # 编写你的函数逻辑 print(f"处理的数组内容: {param}")
效果说明
- 类型检查工具(如mypy)会自动验证传入参数是否为
list[str]或list[int],传入其他类型数组(如list[float])会触发类型错误提示。 - 无需手动遍历数组检查元素类型,完全通过静态类型提示实现参数限制。
内容的提问来源于stack exchange,提问作者Noah J
相关产品推荐
相关产品推荐

