Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当括号[]位于类名之后时,它是什么意思?_Python_Python 3.x_Python 3.6 - Fatal编程技术网

Python 当括号[]位于类名之后时,它是什么意思?

Python 当括号[]位于类名之后时,它是什么意思?,python,python-3.x,python-3.6,Python,Python 3.x,Python 3.6,比如说, class BasicTransitionFunction(TransitionFunction[GrammarBasedState]): ... 其中,TransitionFunction是BasicTransitionFunction的基类,GrammarBasedState也是一个类名。我只知道[]可以用于索引数组。这是什么意思?这是泛型类型的语法。正如@Sraw所说,这意味着TransitionFunction是一种泛型类型。例如,List是一种泛型类型,因此您可

比如说,

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

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

这是泛型类型的语法。正如@Sraw所说,这意味着
TransitionFunction
是一种泛型类型。例如,
List
是一种泛型类型,因此您可以使用
List[Int]

这是与C++模板相同的想法(例如:代码> STD::向量< /代码>)。


因此这里的
BasicTransitionFunction
GrammarBasedState
s之间的
TransitionFunction
的子类。

这意味着
TransitionFunction
是一种泛型。例如,
List
是一种泛型类型,因此您可以使用
List[Int]
。基于Sraw的注释/注释:@Sraw那么这只是用于注释吗?那么这样做的意义是什么?是否仅用于注释?因为Python是一种动态类型化语言;这与动态或静态类型无关。我是说C++模板STD::vector,如果把一个字符串传递给vector,就会出错。但是对于python,如果将str传递给List[Int],则定义本身不会导致错误。