اشیاء تولیدگر¶
اشیاء تولیدگر همان چیزی هستند که پایتون برای پیادهسازی پیمایشگرهای تولیدگر از آنها استفاده میکند. این اشیاء معمولاً با پیمایش کردن تابعی که مقادیر را بازدهی (yield) میکند ایجاد میشوند، نه با فراخوانی صریح PyGen_New() یا PyGen_NewWithQualName().
-
type PyGenObject¶
ساختار C استفادهشده برای اشیاء تولیدگر.
-
PyTypeObject PyGen_Type¶
شیء نوعِ متناظر با شیءهای تولیدگر.
-
int PyGen_Check(PyObject *ob)¶
اگر ob یک شیء تولیدگر باشد، مقدار true را برمیگرداند؛ ob نباید
NULLباشد. این تابع همیشه با موفقیت انجام میشود.
-
int PyGen_CheckExact(PyObject *ob)¶
اگر نوع ob برابر
PyGen_Typeباشد، مقدار true برمیگرداند؛ ob نبایدNULLباشد. این تابع همیشه با موفقیت اجرا میشود.
-
PyObject *PyGen_New(PyFrameObject *frame)¶
- مقدار بازگشتی: مرجع جدید.
یک شیء تولیدگر جدید بر اساس شیء frame ایجاد کرده و برمیگرداند. ارجاعی به frame توسط این تابع «دزدیده» میشود (حتی در صورت بروز خطا). این آرگومان نباید
NULLباشد.
-
PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶
- مقدار بازگشتی: مرجع جدید.
یک شیء تولیدگر جدید بر اساس شیء frame ایجاد میکند و برمیگرداند که
__name__و__qualname__آن روی name و qualname تنظیم شدهاند. ارجاعی به frame توسط این تابع «دزدیده» میشود (حتی در صورت خطا). آرگومان frame نبایدNULLباشد.
-
PyCodeObject *PyGen_GetCode(PyGenObject *gen)¶
یک ارجاع قوی جدید به شیء کدی که توسط gen دربرگرفتهشده است، برمیگرداند. این تابع همیشه با موفقیت انجام میشود.
اشیاء تولیدگر ناهمگام¶
همچنین ملاحظه نمائید
-
PyTypeObject PyAsyncGen_Type¶
شیء نوعِ متناظر با شیءهای تولیدگر ناهمگام. این در لایهی پایتون بهصورت
types.AsyncGeneratorTypeدسترسپذیر است.اضافه شده در نسخهی 3.6.
-
PyObject *PyAsyncGen_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶
ایجادکنندهی یک تولیدگر ناهمگام جدید است که frame را دربر میگیرد و مقدارهای
__name__و__qualname__آن را بهترتیب روی name و qualname تنظیم میکند. frame توسط این تابع (ربودهشده) محسوب میشود (حتی در صورت بروز خطا) و نبایدNULLباشد.در صورت موفقیت، این تابع یک ارجاع قوی به تولیدگر ناهمگام جدید برمیگرداند. در صورت شکست، این تابع
NULLرا همراه با یک استثنای تنظیمشده برمیگرداند.اضافه شده در نسخهی 3.6.
API منسوخ¶
-
PyAsyncGenASend_CheckExact(op)¶
این یک API است که به اشتباه در C API پایتون گنجانده شده بود.
این تنها برای کامل بودن اینجا قرار گرفته است؛ از این API استفاده نکنید.
منسوخسازی نرم <Soft deprecated> از نسخهی 3.14.