Giao thức ánh xạ¶
Xem thêm PyObject_GetItem(), PyObject_SetItem() và PyObject_DelItem().
-
int PyMapping_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 ánh xạ hoặc hỗ trợ cắt và0nếu ngược lại. Lưu ý rằng nó trả về1cho các lớp Python bằng phương thức__getitem__(), 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 PyMapping_Size(PyObject *o)¶
-
Py_ssize_t PyMapping_Length(PyObject *o)¶
- Một phần của ABI ổn định.
Trả về số lượng khóa trong đối tượng 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 *PyMapping_GetItemString(PyObject *o, const char *key)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Điều này giống với
PyObject_GetItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.
-
int PyMapping_GetOptionalItem(PyObject *obj, PyObject *key, PyObject **result)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13.
Biến thể của
PyObject_GetItem()không tăngKeyErrornếu không tìm thấy khóa.Nếu tìm thấy khóa, hãy trả về
1và đặt *result thành strong reference mới với giá trị tương ứng. Nếu không tìm thấy khóa, hãy trả về0và đặt *result thànhNULL;KeyErrorbị tắt tiếng. Nếu xuất hiện lỗi không phảiKeyError, hãy trả về-1và đặt *result thànhNULL.Added in version 3.13.
-
int PyMapping_GetOptionalItemString(PyObject *obj, const char *key, PyObject **result)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13.
Điều này giống với
PyMapping_GetOptionalItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Added in version 3.13.
-
int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶
- Một phần của ABI ổn định.
Điều này giống với
PyObject_SetItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.
-
int PyMapping_DelItem(PyObject *o, PyObject *key)¶
Đây là bí danh của
PyObject_DelItem().
-
int PyMapping_DelItemString(PyObject *o, const char *key)¶
Điều này giống với
PyObject_DelItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.
-
int PyMapping_HasKeyWithError(PyObject *o, PyObject *key)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13.
Trả về
1nếu đối tượng ánh xạ có khóa key và0nếu không. Điều này tương đương với biểu thức Pythonkey in o. Nếu thất bại, hãy trả lại-1.Added in version 3.13.
-
int PyMapping_HasKeyStringWithError(PyObject *o, const char *key)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13.
Điều này giống với
PyMapping_HasKeyWithError(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Added in version 3.13.
-
int PyMapping_HasKey(PyObject *o, PyObject *key)¶
- Một phần của ABI ổn định.
Trả về
1nếu đối tượng ánh xạ có khóa key và0nếu không. Điều này tương đương với biểu thức Pythonkey in o. Chức năng này luôn thành công.Ghi chú
Các ngoại lệ xảy ra khi lệnh này gọi phương thức
__getitem__()đều bị bỏ qua một cách âm thầm. Để xử lý lỗi thích hợp, hãy sử dụngPyMapping_HasKeyWithError(),PyMapping_GetOptionalItem()hoặcPyObject_GetItem().
-
int PyMapping_HasKeyString(PyObject *o, const char *key)¶
- Một phần của ABI ổn định.
Điều này giống với
PyMapping_HasKey(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Ghi chú
Các ngoại lệ xảy ra khi điều này gọi phương thức
__getitem__()hoặc trong khi tạo đối tượngstrtạm thời sẽ bị bỏ qua âm thầm. Để xử lý lỗi thích hợp, hãy sử dụngPyMapping_HasKeyStringWithError(),PyMapping_GetOptionalItemString()hoặcPyMapping_GetItemString().
-
PyObject *PyMapping_Keys(PyObject *o)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Nếu thành công, trả về danh sách các khóa trong đối tượng o. Nếu thất bại, trả về
NULL.Thay đổi trong phiên bản 3.7: Trước đây, hàm trả về một danh sách hoặc một bộ dữ liệu.
-
PyObject *PyMapping_Values(PyObject *o)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Nếu thành công, trả về danh sách các giá trị trong đối tượng o. Nếu thất bại, trả về
NULL.Thay đổi trong phiên bản 3.7: Trước đây, hàm trả về một danh sách hoặc một bộ dữ liệu.
-
PyObject *PyMapping_Items(PyObject *o)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Nếu thành công, trả về danh sách các mục trong đối tượng o, trong đó mỗi mục là một bộ chứa một cặp khóa-giá trị. Nếu thất bại, trả về
NULL.Thay đổi trong phiên bản 3.7: Trước đây, hàm trả về một danh sách hoặc một bộ dữ liệu.