首页 > 解决方案 > 类名后面的括号 [ ] 是什么意思?

问题描述

例如,

class BasicTransitionFunction(TransitionFunction[GrammarBasedState]):
      ...

其中TransitionFunction是 的基类BasicTransitionFunctionGrammarBasedState也是类名。我只知道[]可以用于索引数组。这里是什么意思?

标签: pythonpython-3.xpython-3.6

解决方案


这是泛型类型的语法。就像@Sraw 说的那样,这意味着这TransitionFunction是一个泛型类型。例如,List是泛型类型,因此您可以拥有List[Int].

这与 C++ 模板(例如)的想法相同std::vector<int>

所以这里BasicTransitionFunction是一个TransitionFunctionbetweenGrammarBasedState的子类。


推荐阅读