Python中省略号的全面解析
在 Python 中,...
是一种特殊的字面值,称为 Ellipsis(省略号)。它在不同的场景中具有多种用途。
占位符: 对于许多开发人员,尤其是在开发的早期阶段,他们可能会使用 Ellipsis 作为代码中的一个占位符。这样可以让你在还没有编写具体实现的时候保持代码结构。
1
2
3
4
5def my_function():
...
class MyClass:
...在上面的例子中,
...
被用作一个占位符,暗示着这些代码块将在未来被具体实现。切片: 在 NumPy 等科学计算库中,省略号经常被用于高维数组的切片操作。通过使用 Ellipsis,你可以轻松地在多个维度上进行切片,而不必显式指定每一个维度。
1
2
3
4
5
6
7import numpy as np
# 创建一个 4 维数组
a = np.random.rand(2, 2, 2, 2)
# 使用省略号选择第一个维度的所有项,并且在其他维度上只选择第一项
b = a[0, ..., 0]类型提示: 在 Python 的类型提示中,也可以使用 Ellipsis。当你想表示一个类型但不想现在具体指定它时,你可以使用 Ellipsis 作为一个暂时的替代。
1
2
3
4
5from typing import Any, Tuple
# 这个类型提示表示这个函数接收任意数量和类型的参数,并且返回任意类型的值
def my_function(*args: Tuple[Any, ...]) -> ...:
return args自定义用途: 你还可以根据需要,在自己的代码中以特定方式使用 Ellipsis。例如,你可以用它来表示某些配置选项的默认值,或者作为特殊的标记。
请注意,Ellipsis 在 Python 中是一个内置的常量,你可以通过 ...
或者 Ellipsis
来引用它。它们是等价的。
1 | print(Ellipsis) |