پروتکل نگاشت¶
همچنین PyObject_GetItem()، PyObject_SetItem() و PyObject_DelItem() را ببینید.
-
int PyMapping_Check(PyObject *o)¶
- قسمتی از ABI پایدار.
اگر شیء پروتکل نگاشت را فراهم کند یا از اسلایسکردن پشتیبانی کند، 1 را برمیگرداند و در غیر این صورت 0. توجه داشته باشید که برای کلاسهای پایتون دارای متد __getitem__() مقدار 1 را برمیگرداند، زیرا بهطور کلی تشخیص اینکه کلاس از چه نوع کلیدهایی پشتیبانی میکند امکانپذیر نیست. این تابع همیشه با موفقیت انجام میشود.
-
Py_ssize_t PyMapping_Size(PyObject *o)¶
-
Py_ssize_t PyMapping_Length(PyObject *o)¶
- قسمتی از ABI پایدار.
در صورت موفقیت، تعداد کلیدهای شیء o را برمیگرداند و در صورت شکست -1. این معادل عبارت پایتونی len(o) است.
-
PyObject *PyMapping_GetItemString(PyObject *o, const char *key)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
این همان PyObject_GetItem() است، اما کلید بهجای PyObject*، بهصورت یک رشتهی بایتِ کدگذاریشده با UTF-8 از نوع const char* مشخص میشود.
-
int PyMapping_GetOptionalItem(PyObject *obj, PyObject *key, PyObject **result)¶
- قسمتی از ABI پایدار از نسخهی 3.13.
گونهای از PyObject_GetItem() که اگر کلید پیدا نشود، استثنای KeyError را ایجاد نمیکند.
اگر کلید یافت شود، 1 را برمیگرداند و *result را روی یک ارجاع قوی جدید به مقدار متناظر تنظیم میکند. اگر کلید یافت نشود، 0 را برمیگرداند و *result را روی NULL تنظیم میکند؛ استثنای KeyError سرکوب میشود. اگر خطایی غیر از KeyError رخ دهد، -1 را برمیگرداند و *result را روی NULL تنظیم میکند.
اضافه شده در نسخهی 3.13.
-
int PyMapping_GetOptionalItemString(PyObject *obj, const char *key, PyObject **result)¶
- قسمتی از ABI پایدار از نسخهی 3.13.
این همان PyMapping_GetOptionalItem() است، اما key بهصورت یک رشته بایتی کدگذاریشده با UTF-8 از نوع const char* مشخص میشود، نه یک PyObject*.
اضافه شده در نسخهی 3.13.
-
int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶
- قسمتی از ABI پایدار.
این همان PyObject_SetItem() است، اما key بهجای PyObject* بهصورت یک رشتهی بایتِ کدگذاریشده با UTF-8 از نوع const char* مشخص میشود.
-
int PyMapping_DelItem(PyObject *o, PyObject *key)¶
این یک نام مستعار برای PyObject_DelItem() است.
-
int PyMapping_DelItemString(PyObject *o, const char *key)¶
این همان PyObject_DelItem() است، اما key بهصورت یک رشتهی بایتهای کدگذاریشده با UTF-8 از نوع const char* مشخص میشود، نه بهصورت PyObject*.
-
int PyMapping_HasKeyWithError(PyObject *o, PyObject *key)¶
- قسمتی از ABI پایدار از نسخهی 3.13.
اگر شیء نگاشت کلید key را داشته باشد 1 و در غیر این صورت 0 برمیگرداند. این معادل عبارت پایتونی key in o است. در صورت شکست، -1 برمیگرداند.
اضافه شده در نسخهی 3.13.
-
int PyMapping_HasKeyStringWithError(PyObject *o, const char *key)¶
- قسمتی از ABI پایدار از نسخهی 3.13.
این همان PyMapping_HasKeyWithError() است، اما key بهعنوان یک رشتهی بایتی کدگذاریشده با UTF-8 از نوع const char* مشخص میشود، نه بهصورت PyObject*.
اضافه شده در نسخهی 3.13.
-
int PyMapping_HasKey(PyObject *o, PyObject *key)¶
- قسمتی از ABI پایدار.
اگر شیء نگاشت دارای کلید کلید باشد، 1 و در غیر این صورت 0 برمیگرداند. این معادل عبارت پایتونی key in o است. این تابع همیشه با موفقیت اجرا میشود.
-
int PyMapping_HasKeyString(PyObject *o, const char *key)¶
- قسمتی از ABI پایدار.
این همان PyMapping_HasKey() است، با این تفاوت که key بهعنوان یک رشتهی بایتی کدگذاریشده با UTF-8 از نوع const char* مشخص میشود، نه یک PyObject*.
-
PyObject *PyMapping_Keys(PyObject *o)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
در صورت موفقیت، فهرستی از کلیدهای شیء o را برمیگرداند. در صورت شکست، NULL را برمیگرداند.
تغییر یافته در نسخهی 3.7: پیشتر، این تابع یک فهرست یا یک تاپل را برمیگرداند.
-
PyObject *PyMapping_Values(PyObject *o)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
در صورت موفقیت، فهرستی از مقادیر موجود در شیء o را برمیگرداند. در صورت شکست، NULL را برمیگرداند.
تغییر یافته در نسخهی 3.7: پیشتر، این تابع یک فهرست یا یک تاپل را برمیگرداند.
-
PyObject *PyMapping_Items(PyObject *o)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
در صورت موفقیت، فهرستی از آیتمهای شیء o را برمیگرداند که هر آیتم آن، تاپلی حاوی یک جفت کلید-مقدار است. در صورت شکست، NULL را برمیگرداند.
تغییر یافته در نسخهی 3.7: پیشتر، این تابع یک فهرست یا یک تاپل را برمیگرداند.
©
حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است.
مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند.
برای اطلاعات بیشتر به
تاریخچه و مجوز مراجعه کنید.
بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است.
لطفاً کمک مالی کنید.
آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC).
آیا
اشکالی یافتید؟
ساخته شده با
Sphinx 9.1.0.