Slice Objects¶
-
PyTypeObject PySlice_Type¶
- Teil der Stable ABI.
Der Typobjekt für Slice-Objekte. Dies ist dasselbe wie
slicein der Python-Ebene.
-
int PySlice_Check(PyObject *ob)¶
Gibt wahr zurück, wenn ob ein Slice-Objekt ist; ob darf nicht
NULLsein. Diese Funktion ist immer erfolgreich.
-
PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step)¶
- Rückgabewert: Neue Referenz. Teil der Stabilen ABI.
Gibt ein neues Slice-Objekt mit den gegebenen Werten zurück. Die Parameter start, stop und step werden als Werte der gleichnamigen Attribute des Slice-Objekts verwendet. Jeder der Werte kann
NULLsein, in diesem Fall wirdNonefür das entsprechende Attribut verwendet.Gibt
NULLzurück und setzt eine Exception, wenn das neue Objekt nicht alloziert werden konnte.
-
int PySlice_GetIndices(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)¶
- Teil der Stable ABI.
Ruft die Start-, Stop- und Step-Indizes aus dem Slice-Objekt slice ab, unter Annahme einer Sequenz der Länge length. Behandelt Indizes, die größer als length sind, als Fehler.
Gibt
0bei Erfolg und-1bei einem Fehler ohne gesetzte Exception zurück (es sei denn, einer der Indizes war nichtNoneund konnte nicht in einen Integer konvertiert werden, in diesem Fall wird-1mit einer gesetzten Exception zurückgegeben).Sie möchten diese Funktion wahrscheinlich nicht verwenden.
Geändert in Version 3.2: Der Parametertyp für den slice-Parameter war zuvor
PySliceObject*.
-
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)¶
- Teil der Stable ABI.
Verwendbare Ersetzung für
PySlice_GetIndices(). Ruft die Start-, Stop- und Step-Indizes aus dem Slice-Objekt slice ab, unter Annahme einer Sequenz der Länge length, und speichert die Länge des Slices in slicelength. Außerhalb der Grenzen liegende Indizes werden so zugeschnitten, dass sie dem Verhalten normaler Slices entsprechen.Gibt
0bei Erfolg und-1bei einem Fehler mit einer gesetzten Exception zurück.Hinweis
Diese Funktion gilt als nicht sicher für resizable Sequenzen. Ihre Verwendung sollte durch eine Kombination aus
PySlice_Unpack()undPySlice_AdjustIndices()ersetzt werden, wobeiif (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) < 0) { // return error }
ersetzt wird durch
if (PySlice_Unpack(slice, &start, &stop, &step) < 0) { // return error } slicelength = PySlice_AdjustIndices(length, &start, &stop, step);
Geändert in Version 3.2: Der Parametertyp für den slice-Parameter war zuvor
PySliceObject*.Geändert in Version 3.6.1: Wenn
Py_LIMITED_APInicht gesetzt ist oder auf einen Wert zwischen0x03050400und0x03060000(nicht einschließlich) oder0x03060100oder höher gesetzt ist, istPySlice_GetIndicesEx()als Makro implementiert, dasPySlice_Unpack()undPySlice_AdjustIndices()verwendet. Die Argumente start, stop und step werden mehrfach ausgewertet.Veraltet seit Version 3.6.1: Wenn
Py_LIMITED_APIauf einen Wert kleiner als0x03050400oder zwischen0x03060000und0x03060100(nicht einschließlich) gesetzt ist, istPySlice_GetIndicesEx()eine veraltete Funktion.
-
int PySlice_Unpack(PyObject *slice, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)¶
- Teil der Stable ABI seit Version 3.7.
Extrahiert die Start-, Stop- und Step-Datenmitglieder aus einem Slice-Objekt als C-Integers. Werte größer als
PY_SSIZE_T_MAXwerden stillschweigend aufPY_SSIZE_T_MAXreduziert, Start- und Stop-Werte kleiner alsPY_SSIZE_T_MINwerden stillschweigend aufPY_SSIZE_T_MINgesetzt, und Step-Werte kleiner als-PY_SSIZE_T_MAXwerden stillschweigend auf-PY_SSIZE_T_MAXgesetzt.Gibt
-1mit einer gesetzten Exception bei einem Fehler zurück,0bei Erfolg.Hinzugefügt in Version 3.6.1.
-
Py_ssize_t PySlice_AdjustIndices(Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t step)¶
- Teil der Stable ABI seit Version 3.7.
Passt Start-/End-Slice-Indizes unter Annahme einer Sequenz der angegebenen Länge an. Außerhalb der Grenzen liegende Indizes werden so zugeschnitten, dass sie dem Verhalten normaler Slices entsprechen.
Gibt die Länge des Slices zurück. Immer erfolgreich. Ruft keinen Python-Code auf.
Hinzugefügt in Version 3.6.1.
Ellipsis Object¶
-
PyTypeObject PyEllipsis_Type¶
- Teil der Stable ABI.
Der Typ des Python
Ellipsis-Objekts. Dasselbe wietypes.EllipsisTypein der Python-Ebene.
-
PyObject *Py_Ellipsis¶
Das Python
Ellipsis-Objekt. Dieses Objekt hat keine Methoden. Ähnlich wiePy_Noneist es ein unsterbliches Singleton-Objekt.Geändert in Version 3.12:
Py_Ellipsisist unsterblich.