- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在闲逛命名空间时,我注意到一个看起来很奇怪的对象,名为Ellipsis
,它似乎没有什么特别的,也没有做任何特殊的事情,但它是一个全局可用的内置对象。
经过搜索,我发现 Numpy 和 Scipy 在切片语法的一些晦涩变体中使用了它......但几乎没有其他用途。
这个对象是专门添加到语言中以支持 Numpy + Scipy 的吗?省略号有任何通用含义或用途吗?
D:\workspace\numpy>python
Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> Ellipsis
Ellipsis
最佳答案
这出现在另一个question中最近。我将详细说明我的 answer从那里:
Ellipsis是一个可以以切片表示法出现的对象。例如:
myList[1:2, ..., 0]
它的解释纯粹取决于实现 __getitem__
函数并在那里看到 Ellipsis
对象,但它的主要(和预期)用途是在 numpy 中。第三方库,添加了多维数组类型。由于存在多个维度,因此切片变得比仅仅开始和停止索引更复杂;能够在多个维度上进行切片也很有用。例如,给定一个 4 × 4 数组,左上角区域将由切片 [:2, :2]
定义:
>>> a
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
>>> a[:2, :2] # top left
array([[1, 2],
[5, 6]])
进一步扩展,此处使用省略号来指示未指定的其余数组维度的占位符。将其视为指示其放置的间隙中所有维度的完整切片 [:]
,因此对于 3d 数组,a[..., 0]
与 a[:, :, 0]
相同,对于 4d a[:, :, :, 0]
,类似地,a[0, . .., 0]
是 a[0, :, :, 0]
(中间有多个冒号组成了数组的全部维度)。
有趣的是,在 python3 中,省略号文字 (...
) 可以在切片语法之外使用,因此您实际上可以编写:
>>> ...
Ellipsis
编辑:省略号也用于标准库typing
模块中:例如Callable[..., int]
指示返回一个 int
而不指定签名的可调用对象,或 tuple[str, ...]
表示可变长度的同构字符串元组。
关于python - 省略号对象有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59614862/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!