Đối tượng lặp¶
Python cung cấp hai đối tượng lặp có mục đích chung. Đầu tiên, một trình vòng lặp trình tự, hoạt động với một trình tự tùy ý hỗ trợ phương thức __getitem__(). Cái thứ hai hoạt động với một đối tượng có thể gọi được và một giá trị canh gác, gọi đối tượng có thể gọi được cho từng mục trong chuỗi và kết thúc vòng lặp khi giá trị canh gác được trả về.
-
PyTypeObject PySeqIter_Type¶
- Một phần của ABI ổn định.
Nhập đối tượng cho các đối tượng iterator được trả về bởi
PySeqIter_New()và dạng một đối số của hàm tích hợpiter()cho các loại trình tự tích hợp sẵn.
-
int PySeqIter_Check(PyObject *op)¶
Trả về true nếu loại op là
PySeqIter_Type. Chức năng này luôn thành công.
-
PyObject *PySeqIter_New(PyObject *seq)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về một trình lặp hoạt động với đối tượng chuỗi chung, seq. Quá trình lặp kết thúc khi chuỗi tăng
IndexErrorcho thao tác đăng ký.
-
PyTypeObject PyCallIter_Type¶
- Một phần của ABI ổn định.
Nhập đối tượng cho các đối tượng iterator được trả về bởi
PyCallIter_New()và dạng hai đối số của hàm tích hợpiter().
-
int PyCallIter_Check(PyObject *op)¶
Trả về true nếu loại op là
PyCallIter_Type. Chức năng này luôn thành công.
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về một trình vòng lặp mới. Tham số đầu tiên, callable, có thể là bất kỳ đối tượng Python nào có thể gọi được mà không cần tham số; mỗi lệnh gọi đến nó sẽ trả về mục tiếp theo trong lần lặp. Khi callable trả về giá trị bằng sentinel, quá trình lặp sẽ kết thúc.
Đối tượng phạm vi¶
-
PyTypeObject PyRange_Type¶
- Một phần của ABI ổn định.
Đối tượng loại cho đối tượng
range.
Các loại trình vòng lặp dựng sẵn¶
Đây là các kiểu lặp tích hợp có trong C API của Python, nhưng không cung cấp chức năng bổ sung. Họ ở đây vì sự trọn vẹn.
loại C |
loại Python |
|---|---|
|
|
|
|
|
|
|
|
|
Các đối tượng Iterator khác¶
-
PyTypeObject PyByteArrayIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyBytesIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyListIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyListRevIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PySetIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyTupleIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyRangeIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyLongRangeIter_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyDictIterKey_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyDictRevIterKey_Type¶
- Một phần của ABI ổn định kể từ phiên bản 3.8.
-
PyTypeObject PyDictIterValue_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyDictRevIterValue_Type¶
- Một phần của ABI ổn định kể từ phiên bản 3.8.
-
PyTypeObject PyDictIterItem_Type¶
- Một phần của ABI ổn định.
-
PyTypeObject PyDictRevIterItem_Type¶
- Một phần của ABI ổn định kể từ phiên bản 3.8.
-
PyTypeObject PyODictIter_Type¶
Nhập các đối tượng cho các trình vòng lặp của các đối tượng tích hợp khác nhau.
Không trực tiếp tạo các phiên bản này; thay vào đó thích gọi
PyObject_GetIter()hơn.Lưu ý rằng không có gì đảm bảo rằng một kiểu dựng sẵn nhất định sẽ sử dụng một kiểu lặp nhất định. Ví dụ: việc lặp qua
rangesẽ sử dụng một trong hai loại trình vòng lặp tùy thuộc vào kích thước của phạm vi. Các loại khác có thể bắt đầu sử dụng sơ đồ tương tự trong tương lai mà không cần cảnh báo.