اشیای نشانگر

PyTypeObject PySentinel_Type

این نمونه از PyTypeObject معرف نوع sentinel در پایتون است. این همان شیء موجود در sentinel است.

اضافه شده در نسخه‌ی 3.15.

int PySentinel_Check(PyObject *o)

اگر o یک شیء sentinel یا یک زیرنوع باشد، مقدار true را برمی‌گرداند. نوع sentinel در حال حاضر اجازه‌ی ایجاد زیرکلاس را نمی‌دهد، بنابراین این بررسی دقیق است. نسخه‌های آینده‌ی پایتون ممکن است امکان زیرنوع‌سازی را فراهم کنند. این تابع همیشه با موفقیت اجرا می‌شود.

اضافه شده در نسخه‌ی 3.15.

int PySentinel_CheckExact(PyObject *o)

اگر o یک شیء sentinel باشد اما زیرنوع نباشد، مقدار true را برمی‌گرداند. نوع sentinel در حال حاضر اجازه‌ی ایجاد زیرکلاس را نمی‌دهد. نسخه‌های آینده‌ی پایتون ممکن است امکان زیرنوع‌سازی را فراهم کنند. این تابع همیشه با موفقیت اجرا می‌شود.

اضافه شده در نسخه‌ی 3.15.

PyObject *PySentinel_New(const char *name, const char *module_name, const char *repr)
مقدار بازگشتی: مرجع جدید.

یک شیء sentinel جدید با مقدار __name__ برابر با name و ویژگی __module__ برابر با module_name برگردانید. مقدار name نباید NULL باشد. اگر module_name برابر با NULL باشد، __module__ روی None تنظیم می‌شود. اگر repr برابر با NULL باشد، تابع repr() مقدار __name__ را برمی‌گرداند. در صورت بروز خطا، NULL را همراه با یک استثنای تنظیم‌شده برگردانید.

برای اینکه پیکل‌سازی (pickling) کار کند، مقدار module_name باید نام یک ماژول قابل‌واردسازی (importable) باشد و نشانگر باید از طریق مسیری منطبق بر name در آن ماژول قابل‌دسترس باشد. ماژول پیکل name را به عنوان یک نام متغیر سراسری در module_name در نظر می‌گیرد (نگاه کنید به object.__reduce__()).

اضافه شده در نسخه‌ی 3.15.