我在阅读Python文档中的类型和注释时,发现了一个名为SupportsIndex
的协议。
这是列表中索引的特殊类型吗?
我尝试在代码中使用它,以防它会引发任何警告:
def __get_color_index(color: str) -> SupportsIndex:
color_index: SupportsIndex = 0
match color:
case 'red':
color_index = 0
case 'green':
color_index = 1
case 'blue':
color_index = 2
case 'magenta':
color_index = 3
case 'yellow':
color_index = 4
case 'cyan':
color_index = 5
return color_index
def add_color(colors: List[bool], color: str):
colors[__get_color_index(color)] = True
我在这段代码中没有得到任何警告,所以问题是:出于任何原因,使用类型SupportsIndex
而不是类型int
是否更好
发布于 2021-11-11 17:55:17
我不是英国人,请理解。
据我所知,SupportsIndex
只是一个用作索引的数字。例如,range()
函数将SupportsIndex
类型的值作为参数。这是为了提示开发人员传递给参数的参数应该被视为index
。
https://stackoverflow.com/questions/69917637
复制相似问题