Server : Apache System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : nobody ( 99) PHP Version : 8.1.23 Disable Function : NONE Directory : /usr/share/doc/python-docs-2.7.5/html/c-api/ |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Slice Objects — Python 2.7.5 documentation</title> <link rel="stylesheet" href="../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '2.7.5', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/sidebar.js"></script> <link rel="search" type="application/opensearchdescription+xml" title="Search within Python 2.7.5 documentation" href="../_static/opensearch.xml"/> <link rel="author" title="About these documents" href="../about.html" /> <link rel="copyright" title="Copyright" href="../copyright.html" /> <link rel="top" title="Python 2.7.5 documentation" href="../index.html" /> <link rel="up" title="Concrete Objects Layer" href="concrete.html" /> <link rel="next" title="Weak Reference Objects" href="weakref.html" /> <link rel="prev" title="Descriptor Objects" href="descriptor.html" /> <link rel="shortcut icon" type="image/png" href="../_static/py.png" /> <script type="text/javascript" src="../_static/copybutton.js"></script> </head> <body> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="weakref.html" title="Weak Reference Objects" accesskey="N">next</a> |</li> <li class="right" > <a href="descriptor.html" title="Descriptor Objects" accesskey="P">previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="http://www.python.org/">Python</a> »</li> <li> <a href="../index.html">Python 2.7.5 documentation</a> » </li> <li><a href="index.html" >Python/C API Reference Manual</a> »</li> <li><a href="concrete.html" accesskey="U">Concrete Objects Layer</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="slice-objects"> <span id="id1"></span><h1>Slice Objects<a class="headerlink" href="#slice-objects" title="Permalink to this headline">¶</a></h1> <dl class="var"> <dt id="PySlice_Type"> <a class="reference internal" href="type.html#PyTypeObject" title="PyTypeObject">PyTypeObject</a> <tt class="descname">PySlice_Type</tt><a class="headerlink" href="#PySlice_Type" title="Permalink to this definition">¶</a></dt> <dd><p id="index-0">The type object for slice objects. This is the same as <tt class="docutils literal"><span class="pre">slice</span></tt> and <tt class="docutils literal"><span class="pre">types.SliceType</span></tt>.</p> </dd></dl> <dl class="function"> <dt id="PySlice_Check"> int <tt class="descname">PySlice_Check</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em> *ob</em><big>)</big><a class="headerlink" href="#PySlice_Check" title="Permalink to this definition">¶</a></dt> <dd><p>Return true if <em>ob</em> is a slice object; <em>ob</em> must not be <em>NULL</em>.</p> </dd></dl> <dl class="function"> <dt id="PySlice_New"> <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PySlice_New</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em> *start</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em> *stop</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em> *step</em><big>)</big><a class="headerlink" href="#PySlice_New" title="Permalink to this definition">¶</a></dt> <dd><em class="refcount">Return value: New reference.</em><p>Return a new slice object with the given values. The <em>start</em>, <em>stop</em>, and <em>step</em> parameters are used as the values of the slice object attributes of the same names. Any of the values may be <em>NULL</em>, in which case the <tt class="docutils literal"><span class="pre">None</span></tt> will be used for the corresponding attribute. Return <em>NULL</em> if the new object could not be allocated.</p> </dd></dl> <dl class="function"> <dt id="PySlice_GetIndices"> int <tt class="descname">PySlice_GetIndices</tt><big>(</big>PySliceObject<em> *slice</em>, Py_ssize_t<em> length</em>, Py_ssize_t<em> *start</em>, Py_ssize_t<em> *stop</em>, Py_ssize_t<em> *step</em><big>)</big><a class="headerlink" href="#PySlice_GetIndices" title="Permalink to this definition">¶</a></dt> <dd><p>Retrieve the start, stop and step indices from the slice object <em>slice</em>, assuming a sequence of length <em>length</em>. Treats indices greater than <em>length</em> as errors.</p> <p>Returns 0 on success and -1 on error with no exception set (unless one of the indices was not <a class="reference internal" href="../library/constants.html#None" title="None"><tt class="xref py py-const docutils literal"><span class="pre">None</span></tt></a> and failed to be converted to an integer, in which case -1 is returned with an exception set).</p> <p>You probably do not want to use this function. If you want to use slice objects in versions of Python prior to 2.3, you would probably do well to incorporate the source of <a class="reference internal" href="#PySlice_GetIndicesEx" title="PySlice_GetIndicesEx"><tt class="xref c c-func docutils literal"><span class="pre">PySlice_GetIndicesEx()</span></tt></a>, suitably renamed, in the source of your extension.</p> <p class="versionchanged"> <span class="versionmodified">Changed in version 2.5: </span>This function used an <tt class="xref c c-type docutils literal"><span class="pre">int</span></tt> type for <em>length</em> and an <tt class="xref c c-type docutils literal"><span class="pre">int</span> <span class="pre">*</span></tt> type for <em>start</em>, <em>stop</em>, and <em>step</em>. This might require changes in your code for properly supporting 64-bit systems.</p> </dd></dl> <dl class="function"> <dt id="PySlice_GetIndicesEx"> int <tt class="descname">PySlice_GetIndicesEx</tt><big>(</big>PySliceObject<em> *slice</em>, Py_ssize_t<em> length</em>, Py_ssize_t<em> *start</em>, Py_ssize_t<em> *stop</em>, Py_ssize_t<em> *step</em>, Py_ssize_t<em> *slicelength</em><big>)</big><a class="headerlink" href="#PySlice_GetIndicesEx" title="Permalink to this definition">¶</a></dt> <dd><p>Usable replacement for <a class="reference internal" href="#PySlice_GetIndices" title="PySlice_GetIndices"><tt class="xref c c-func docutils literal"><span class="pre">PySlice_GetIndices()</span></tt></a>. Retrieve the start, stop, and step indices from the slice object <em>slice</em> assuming a sequence of length <em>length</em>, and store the length of the slice in <em>slicelength</em>. Out of bounds indices are clipped in a manner consistent with the handling of normal slices.</p> <p>Returns 0 on success and -1 on error with exception set.</p> <p class="versionadded"> <span class="versionmodified">New in version 2.3.</span></p> <p class="versionchanged"> <span class="versionmodified">Changed in version 2.5: </span>This function used an <tt class="xref c c-type docutils literal"><span class="pre">int</span></tt> type for <em>length</em> and an <tt class="xref c c-type docutils literal"><span class="pre">int</span> <span class="pre">*</span></tt> type for <em>start</em>, <em>stop</em>, <em>step</em>, and <em>slicelength</em>. This might require changes in your code for properly supporting 64-bit systems.</p> </dd></dl> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h4>Previous topic</h4> <p class="topless"><a href="descriptor.html" title="previous chapter">Descriptor Objects</a></p> <h4>Next topic</h4> <p class="topless"><a href="weakref.html" title="next chapter">Weak Reference Objects</a></p> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../bugs.html">Report a Bug</a></li> <li><a href="../_sources/c-api/slice.txt" rel="nofollow">Show Source</a></li> </ul> <div id="searchbox" style="display: none"> <h3>Quick search</h3> <form class="search" action="../search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Enter search terms or a module, class or function name. </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="weakref.html" title="Weak Reference Objects" >next</a> |</li> <li class="right" > <a href="descriptor.html" title="Descriptor Objects" >previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="http://www.python.org/">Python</a> »</li> <li> <a href="../index.html">Python 2.7.5 documentation</a> » </li> <li><a href="index.html" >Python/C API Reference Manual</a> »</li> <li><a href="concrete.html" >Concrete Objects Layer</a> »</li> </ul> </div> <div class="footer"> © <a href="../copyright.html">Copyright</a> 1990-2020, Python Software Foundation. <br /> The Python Software Foundation is a non-profit corporation. <a href="http://www.python.org/psf/donations/">Please donate.</a> <br /> Last updated on Oct 13, 2020. <a href="../bugs.html">Found a bug</a>? <br /> Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. </div> </body> </html>