python泛型编程
时间: 2024-05-09 16:12:53 浏览: 11
Python是一种动态类型语言,不像Java或C++那样有严格的类型约束。因此,Python中的泛型编程可以理解为通用函数或类,可以接受不同类型的参数。
在Python中,泛型编程通常通过函数注解来实现。通过在函数参数或返回值上添加注解,可以指定参数和返回值的类型。这样做不仅可以提高代码可读性,也可以让IDE等工具提供更好的代码提示和类型检查。
以下是一个简单的例子,实现了一个通用的加法函数:
```python
def add(a: 'T', b: 'T') -> 'T':
return a + b
```
其中,参数a和b的类型注解为'T',表示可以接受任何类型的参数。返回值的类型也注解为'T',表示返回值类型与参数类型相同。
使用时,可以传入任意类型的参数:
```python
print(add(1, 2)) # 3
print(add('hello', ' world')) # 'hello world'
print(add([1, 2, 3], [4, 5, 6])) # [1, 2, 3, 4, 5, 6]
```
另外,Python中也可以通过继承泛型类来实现泛型编程。例如,使用typing模块中的List和Dict泛型类可以定义接受列表和字典类型参数的函数:
```python
from typing import List, Dict
def process_list(lst: List[int]) -> Dict[int, int]:
result = {}
for i in lst:
if i not in result:
result[i] = 1
else:
result[i] += 1
return result
```
以上是一个简单的例子,定义了一个接受整数列表并返回整数计数字典的函数。在定义参数和返回值时,使用了List和Dict泛型类来指定参数和返回值的类型。