3.3.5. 模拟泛型类型

通过定义一个特殊方法,可以实现由 PEP 484 所规定的泛型类语法 (例如 List[int]):

  • classmethod object.class_getitem(cls, key)
  • 按照 key 参数指定的类型返回一个表示泛型类的专门化对象。

此方法的查找会基于对象自身,并且当定义于类体内部时,此方法将隐式地成为类方法。请注意,此机制主要是被保留用于静态类型提示,不鼓励在其他场合使用。

参见

PEP 560 - 对 typing 模块和泛型类型的核心支持