اشیاء پیمایشگر¶
پایتون دو شیء پیمایشگر همهمنظوره فراهم میکند. اولی یک پیمایشگر دنباله است که با هر دنباله دلخواهی که از متد __getitem__() پشتیبانی میکند کار میکند. دومی با یک شیء فراخوانیپذیر و یک مقدار نشانگر کار میکند؛ فراخوانیپذیر برای هر آیتم در دنباله فراخوانی میشود و پیمایش هنگامی که مقدار نشانگر بازگردانده شود پایان مییابد.
-
PyTypeObject PySeqIter_Type¶
- قسمتی از ABI پایدار.
شیء نوع برای اشیاء پیمایشگری که توسط
PySeqIter_New()و شکل تکآرگومانی تابع توکارiter()برای نوعهای دنباله توکار بازگردانده میشوند.
-
int PySeqIter_Check(PyObject *op)¶
اگر نوع op برابر
PySeqIter_Typeباشد، مقدار true را برمیگرداند. این تابع همیشه با موفقیت انجام میشود.
-
PyObject *PySeqIter_New(PyObject *seq)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
یک پیمایشگر برمیگرداند که با شیء دنبالهی عمومی، seq کار میکند. پیمایش زمانی پایان مییابد که دنباله هنگام عملیات زیرنویسی، استثنای
IndexErrorرا ایجاد کند.
-
PyTypeObject PyCallIter_Type¶
- قسمتی از ABI پایدار.
شیء نوع برای اشیاء پیمایشگری که توسط
PyCallIter_New()و شکل دوآرگومانی تابع توکارiter()بازگردانده میشوند.
-
int PyCallIter_Check(PyObject *op)¶
اگر نوع op برابر با
PyCallIter_Typeباشد، مقدار true را برمیگرداند. این تابع همیشه با موفقیت اجرا میشود.
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
یک پیمایشگر جدید برگردانید. پارامتر اول، callable، میتواند هر شیء فراخوانیپذیر پایتونی باشد که بدون هیچ پارامتری میتوان آن را فراخوانی کرد؛ هر فراخوانی آن باید آیتم بعدی در پیمایش را برگرداند. وقتی callable مقداری برابر با sentinel برگرداند، پیمایش خاتمه مییابد.
اشیاء بازه¶
-
PyTypeObject PyRange_Type¶
- قسمتی از ABI پایدار.
شیء نوع برای اشیاء
range.
نوعهای پیمایشگر توکار¶
اینها نوعهای پیمایش توکار هستند که در API زبان C پایتون گنجانده شدهاند، اما هیچ تابع اضافهای ارائه نمیدهند. آنها برای کامل بودن اینجا قرار دارند.
نوع C |
نوع پایتونی |
|---|---|
|
|
|
|
|
|
|
|
|
سایر اشیاء پیمایشگر¶
-
PyTypeObject PyByteArrayIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyBytesIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyListIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyListRevIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PySetIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyTupleIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyRangeIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyLongRangeIter_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyDictIterKey_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyDictRevIterKey_Type¶
- قسمتی از ABI پایدار از نسخهی 3.8.
-
PyTypeObject PyDictIterValue_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyDictRevIterValue_Type¶
- قسمتی از ABI پایدار از نسخهی 3.8.
-
PyTypeObject PyDictIterItem_Type¶
- قسمتی از ABI پایدار.
-
PyTypeObject PyDictRevIterItem_Type¶
- قسمتی از ABI پایدار از نسخهی 3.8.
-
PyTypeObject PyODictIter_Type¶
شیءهای نوع برای پیمایشگرهای شیءهای توکار گوناگون.
نمونههایی از اینها را مستقیماً ایجاد نکنید؛ به جای آن، فراخوانی
PyObject_GetIter()را ترجیح دهید.توجه داشته باشید که هیچ تضمینی وجود ندارد که یک نوع توکار مشخص از نوع پیمایشگر مشخصی استفاده کند. برای مثال، پیمایش روی
rangeبسته به اندازهی بازه از یکی از دو نوع پیمایشگر استفاده میکند. نوعهای دیگر ممکن است در آینده بدون هشدار شروع به استفاده از طرحوارهای مشابه کنند.