Giao thức trình tự¶
-
int PySequence_Check(PyObject *o)¶
- Một phần của ABI ổn định.
Trả về
1nếu đối tượng cung cấp giao thức trình tự và0nếu không. Lưu ý rằng nó trả về1cho các lớp Python bằng phương thức__getitem__(), trừ khi chúng là các lớp condict, vì nói chung không thể xác định loại khóa nào mà lớp đó hỗ trợ. Chức năng này luôn thành công.
-
Py_ssize_t PySequence_Size(PyObject *o)¶
-
Py_ssize_t PySequence_Length(PyObject *o)¶
- Một phần của ABI ổn định.
Trả về số lượng đối tượng theo thứ tự o nếu thành công và
-1nếu thất bại. Điều này tương đương với biểu thức Pythonlen(o).
-
PyObject *PySequence_Concat(PyObject *o1, PyObject *o2)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về kết hợp của o1 và o2 nếu thành công và
NULLnếu thất bại. Điều này tương đương với biểu thức Pythono1 + o2.
-
PyObject *PySequence_Repeat(PyObject *o, Py_ssize_t count)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về kết quả của việc lặp lại đối tượng chuỗi o count lần hoặc
NULLkhi thất bại. Điều này tương đương với biểu thức Pythono * count.
-
PyObject *PySequence_InPlaceConcat(PyObject *o1, PyObject *o2)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về kết hợp của o1 và o2 nếu thành công và
NULLnếu thất bại. Thao tác được thực hiện in-place khi o1 hỗ trợ nó. Điều này tương đương với biểu thức Pythono1 += o2.
-
PyObject *PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về kết quả của việc lặp lại đối tượng chuỗi o count lần hoặc
NULLkhi thất bại. Thao tác được thực hiện in-place khi o hỗ trợ nó. Điều này tương đương với biểu thức Pythono *= count.
-
PyObject *PySequence_GetItem(PyObject *o, Py_ssize_t i)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về phần tử ith của o hoặc
NULLkhi bị lỗi. Điều này tương đương với biểu thức Pythono[i].
-
PyObject *PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về lát đối tượng chuỗi o giữa i1 và i2 hoặc
NULLkhi thất bại. Điều này tương đương với biểu thức Pythono[i1:i2].
-
int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v)¶
- Một phần của ABI ổn định.
Gán đối tượng v cho phần tử ith của o. Đưa ra một ngoại lệ và trả về
-1khi thất bại; trả về0khi thành công. Điều này tương đương với câu lệnh Pythono[i] = v. Hàm does not này đánh cắp một tham chiếu đến v.Nếu v là
NULL, phần tử sẽ bị xóa, nhưng tính năng này không được dùng nữa để sử dụngPySequence_DelItem().
-
int PySequence_DelItem(PyObject *o, Py_ssize_t i)¶
- Một phần của ABI ổn định.
Xóa phần tử ith của đối tượng o. Trả về
-1khi thất bại. Điều này tương đương với câu lệnh Pythondel o[i].
-
int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v)¶
- Một phần của ABI ổn định.
Gán đối tượng chuỗi v cho lát cắt trong đối tượng chuỗi o từ i1 đến i2. Điều này tương đương với câu lệnh Python
o[i1:i2] = v.
-
int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)¶
- Một phần của ABI ổn định.
Xóa lát cắt theo thứ tự đối tượng o từ i1 đến i2. Trả về
-1khi thất bại. Điều này tương đương với câu lệnh Pythondel o[i1:i2].
-
Py_ssize_t PySequence_Count(PyObject *o, PyObject *value)¶
- Một phần của ABI ổn định.
Trả về số lần xuất hiện của value trong o, tức là trả về số khóa của
o[key] == value. Nếu thất bại, hãy trả lại-1. Điều này tương đương với biểu thức Pythono.count(value).
-
int PySequence_Contains(PyObject *o, PyObject *value)¶
- Một phần của ABI ổn định.
Xác định xem o có chứa value hay không. Nếu một mục trong o bằng value, trả về
1, nếu không thì trả về0. Nếu có lỗi, hãy trả về-1. Điều này tương đương với biểu thức Pythonvalue in o.
-
int PySequence_In(PyObject *o, PyObject *value)¶
- Một phần của ABI ổn định.
Bí danh cho
PySequence_Contains().Sắp loại bỏ từ phiên bản 3.14: Hàm này là soft deprecated và không còn được sử dụng để viết mã mới nữa.
-
Py_ssize_t PySequence_Index(PyObject *o, PyObject *value)¶
- Một phần của ABI ổn định.
Trả về chỉ mục đầu tiên i mà
o[i] == value. Nếu có lỗi, hãy trả về-1. Điều này tương đương với biểu thức Pythono.index(value).
-
PyObject *PySequence_List(PyObject *o)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về một đối tượng danh sách có cùng nội dung với chuỗi hoặc o có thể lặp lại hoặc
NULLkhi bị lỗi. Danh sách trả về được đảm bảo là mới. Điều này tương đương với biểu thức Pythonlist(o).
-
PyObject *PySequence_Tuple(PyObject *o)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về một đối tượng tuple có cùng nội dung với chuỗi hoặc o có thể lặp lại hoặc
NULLkhi bị lỗi. Nếu o là một bộ dữ liệu, một tham chiếu mới sẽ được trả về, nếu không thì một bộ dữ liệu sẽ được xây dựng với nội dung phù hợp. Điều này tương đương với biểu thức Pythontuple(o).
-
PyObject *PySequence_Fast(PyObject *o, const char *m)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về chuỗi hoặc o có thể lặp lại dưới dạng đối tượng mà họ hàm
PySequence_Fast*khác có thể sử dụng được. Nếu đối tượng không phải là một chuỗi hoặc có thể lặp lại, hãy tăngTypeErrorvới m làm văn bản thông báo. Trả vềNULLkhi thất bại.Do đó, các hàm
PySequence_Fast*được đặt tên vì chúng giả sử o làPyTupleObjecthoặcPyListObjectvà truy cập trực tiếp vào các trường dữ liệu của o.Là chi tiết triển khai CPython, nếu o đã là một chuỗi hoặc danh sách thì nó sẽ được trả về.
-
Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o)¶
Trả về độ dài của o, giả sử rằng o được trả về bởi
PySequence_Fast()và o không phải làNULL. Kích thước cũng có thể được truy xuất bằng cách gọiPySequence_Size()trên o, nhưngPySequence_Fast_GET_SIZE()nhanh hơn vì nó có thể giả sử o là một danh sách hoặc bộ dữ liệu.
-
PyObject *PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t i)¶
- Giá trị trả về: Tham chiếu mượn.
Trả về phần tử thứ icủa o, giả sử rằng o được trả về bởi
PySequence_Fast(), o không phải làNULLvà i nằm trong giới hạn.
-
PyObject **PySequence_Fast_ITEMS(PyObject *o)¶
Trả về mảng cơ bản của con trỏ PyObject. Giả sử rằng o được trả về bởi
PySequence_Fast()và o không phải làNULL.Lưu ý, nếu danh sách bị thay đổi kích thước, việc phân bổ lại có thể định vị lại mảng mục. Vì vậy, chỉ sử dụng con trỏ mảng cơ bản trong các ngữ cảnh mà chuỗi không thể thay đổi.
-
PyObject *PySequence_ITEM(PyObject *o, Py_ssize_t i)¶
- Giá trị trả về: Tham chiếu mới.
Trả về phần tử ith của o hoặc
NULLkhi bị lỗi. DạngPySequence_GetItem()nhanh hơn nhưng không kiểm tra xemPySequence_Check()trên o có đúng không và không điều chỉnh các chỉ số âm.