您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python-椭圆对象有什么作用?

Python-椭圆对象有什么作用?

这是最近另一个问题。我将从那里详细说明我的答案:

省略号是可以以切片表示法显示的对象。例如:

@H_502_5@myList[1:2, ..., 0]

它的解释完全取决于实现该@H_502_5@__getitem__函数并在其中看到@H_502_5@Ellipsis对象的任何事物,但是其主要(和预期的)用途是在数字python扩展名中,该扩展名添加了多维数组类型。由于存在多个维度,因此切片变得比仅起始索引和终止索引更为复杂;能够在多个维度上切片也很有用。例如,给定4x4数组,则左上角的区域将由slice定义@H_502_5@[:2,:2]:

@H_502_5@>>> 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数组,与4d a[…,0]相同,同样是(但中间有许多冒号组成了完整数数组中的尺寸)。@H_502_5@a[:,:,0]a[:,:,:,0]a[0,...,0]a[0,:,:,0]

有趣的是,在python3中,省略号文字@H_502_5@(...)在@H_502_5@slice语法之外可用,因此你实际上可以编写:

@H_502_5@>>> ...
Ellipsis

除了各种数字类型,不,我认为它没有被使用。据我所知,它是纯粹为numpy使用而添加的,除了提供对象和相应的语法外,没有其他核心支持。那里的对象不需要这个,但是对切片的字面量“ …”支持确实需要。

python 2022/1/1 18:17:53 有447人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶