作为一名经验丰富的 Python 开发人员,您可能遇到过 Python 中的三个点…省略号对象。 如果您尝试在 Python 解释器中打印此内容,它将显示一个省略号。
本篇文章将介绍 Python 中省略号对象的使用。
使用省略号作为未编写代码的占位符
省略号对象可以以不同的方式使用。 它主要充当未编写代码的占位符。
假设我们在一个团队中工作,需要定义函数和类。 我们定义了函数和类,但不确定代码,因此我们将三个点(省略号)放在适当的位置。
这将防止 Python 解释器引发任何异常。
请参阅下面的代码。
def fun():
...
print("Use of ellipsis.")
输出:
Use of ellipsis.
上面的示例显示我们将省略号对象作为 fun()
方法中未编写代码的占位符。
使用省略号代替 pass 关键字
当我们想要添加一行代码但不希望执行任何内容时,在 Python 中使用 pass 关键字。 因此,它被用作未编写代码的占位符。
正如所讨论的,我们可以使用省略号对象作为未编写代码的占位符; 因此,我们可以用它来代替 pass 关键字。
我们可以在下面的例子中看到这一点。
def fun1():
...
def fun2():
pass
print("Use of ellipsis.")
输出:
Use of ellipsis.
上面的示例显示,两个函数使用了 pass 和 ellipsis 作为未编写代码的占位符,这表明我们可以将 pass 替换为 ellipsis 对象。
在多维 numpy 数组切片中使用省略号
该对象的另一个重要用途是切片。
切片是指根据索引从对象中提取元素部分的技术。 它是在方括号中完成的。
我们还可以对多维数组执行切片,但我们需要注意数组中的总维度。 省略号可以用作切片表达式中的占位符来忽略给定的维度。
考虑以下代码。
import numpy as np
arr = np.array([[7,5,2,3],[1,8,9,2],[3,2,1,0]])
print(arr[ :,2])
print(arr[...,2])
输出:
[2 9 1]
[2 9 1]
在上面的示例中,请注意不同的切片表达式如何返回相同的结果。 省略号作为切片表达式中的占位符非常有用。
对于二维数组,表达式 arr[...,2]
可以转换为 arr[ : ,2]
,对于三维数组,可以转换为 arr[ :, : , 2]
等等。
使用省略号进行类型提示
在Python 3.5及更高版本中,引入了该单例对象的另一种用途。
类型提示允许我们声明变量、参数和返回值的类型。 我们可以在类型提示中使用省略号来仅提供部分类型。
我们可以像 Tuple[int, ...]
、Callable[...,int]
等一样使用它来帮助类型提示。
总结
最后,我们讨论了 Python 中的省略号对象及其用途。 它通常用作函数和类中未编写代码的占位符。
我们还可以将它用作切片中的占位符来忽略多个维度。 Python 3.5 引入了一种在类型提示中使用省略号的新方法。