python 泛型类
时间: 2024-09-03 19:02:37 浏览: 93
Python中泛型函数应用案例.pdf
在Python中,泛型类的概念与一些其他编程语言中的泛型类略有不同。Python本身不直接支持泛型类型,但通过一些库,如`typing`模块,可以实现类似的功能。`typing`模块提供了泛型类的支持,允许我们定义可以接受不同类型参数的类。泛型类有助于代码的重用性,让类的实现更加灵活,同时保持类型的安全性。
使用`typing`模块中的`Generic`类,可以创建泛型类。我们通常还会使用类型变量(如`T`)来表示泛型类型。下面是一个简单的例子:
```python
from typing import Generic, TypeVar
T = TypeVar('T')
class MyGenericClass(Generic[T]):
def __init__(self, value: T):
self.value = value
def get_value(self) -> T:
return self.value
```
在这个例子中,`MyGenericClass`是一个泛型类,它使用了类型变量`T`来指代任何类型。这个类可以接受任何类型的对象作为实例,并且存储和返回这个对象。
使用泛型类时,你可以指定具体的类型,如下所示:
```python
obj_int = MyGenericClass[int](10)
obj_str = MyGenericClass[str]("Hello World")
print(obj_int.get_value()) # 输出: 10
print(obj_str.get_value()) # 输出: Hello World
```
这种方式使得`MyGenericClass`可以灵活地用于存储不同类型的值,同时提供类型检查,有助于避免类型错误。
阅读全文