切片对象 – 具体对象层(Python教程)(参考资料)
切片对象
- PyTypeObject
PySlice_Type
- 切片对象的类型对象。这与thePython图层中的
slice
相同.
- int
PySlice_Check
( PyObject *ob) - 返回如果ob是一个切片对象;ob一定不能NULL.
- PyObject *
PySlice_New
( PyObject *start,PyObject *stop,PyObject *step) - Return value: New reference.
返回具有给定值的新切片对象。start, stop和step参数用作相同名称的切片对象属性的值。任何值都可以是NULL,在这种情况下
None
将用于相应的属性。返回NULL如果新对象无法分配.
- int
PySlice_GetIndices
( PyObject *slice,Py_ssize_t length,Py_ssize_t *start,Py_ssize_t *stop,Py_ssize_t *step) - 从切片对象slice,假设一系列长度length。对待指数大于length作为错误
返回
0
成功与-1
没有异常设置的错误(除非其中一个索引不是None
并且未能转换为整数,在这种情况下-1
返回异常集).您可能不想使用此功能.
更改版本3.2: slice参数的参数类型为
PySliceObject*
before.
- int
PySlice_GetIndicesEx
( PyObject *slice,Py_ssize_t length,Py_ssize_t *start,Py_ssize_t *stop,Py_ssize_t *step,Py_ssize_t *slicelength) - 可用替换
PySlice_GetIndices()
。从切片对象slice假设一个长度为length的序列,并将切片的长度存储在slicelength中。超出范围的索引以与处理正常切片一致的方式剪切.返回
0
成功与-1
异常集错误.注意
对于可调整大小的序列,此函数被认为是不安全的。它的调用应该由
PySlice_Unpack()
和PySlice_AdjustIndices()
其中if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) < 0) { // return error }
替换为
if (PySlice_Unpack(slice, &start, &stop, &step) < 0) { // return error } slicelength = PySlice_AdjustIndices(length, &start, &stop, step);
在版本3.2中更改: slice参数的参数类型是
PySliceObject*
在前面更改版本3.6.1:如果
Py_LIMITED_API
未设置或设置为0x03050400
和0x03060000
(不包括)或0x03060100
或更高PySlice_GetIndicesEx()
使用PySlice_Unpack()
和PySlice_AdjustIndices()
.Arguments start, stop和step被评估不止一次.从版本3.6.1开始不推荐使用:如果
Py_LIMITED_API
设置为小于的值0x03050400
或者0x03060000
和0x03060100
(不包括)PySlice_GetIndicesEx()
是一个不赞成使用的功能.
- int
PySlice_Unpack
( PyObject *slice,Py_ssize_t *start,Py_ssize_t *stop,Py_ssize_t *step) - 从切片对象asC整数中提取开始,停止和步骤数据成员。默默地将大于
PY_SSIZE_T_MAX
的值减小到PY_SSIZE_T_MAX
,默默地将启动和停止值提升到小于PY_SSIZE_T_MIN
到PY_SSIZE_T_MIN
,并默默地将步长值提升到小于-PY_SSIZE_T_MAX
到-PY_SSIZE_T_MAX
.错误地返回
-1
,0
成功时新版本3.6.1 .
- Py_ssize_t
PySlice_AdjustIndices
( Py_ssize_t length,Py_ssize_t *start,Py_ssize_t *stop,Py_ssize_t step) - 假设一个指定长度的序列调整开始/结束切片索引。以与正常切片的处理一致的方式剪切边界索引.
返回切片的长度。总是成功的。不调用Pythoncode.
新版本3.6.1.
Ellipsis对象
- PyObject *
Py_Ellipsis
- Python
Ellipsis
对象。这个对象没有方法。就引用计数而言,它需要像任何其他对象一样进行预处理。就像Py_None
它是一个单身对象.
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » 切片对象 – 具体对象层(Python教程)(参考资料)
超哥软件库 » 切片对象 – 具体对象层(Python教程)(参考资料)