Đối tượng di động¶
Các đối tượng "Ô" được sử dụng để triển khai các biến được tham chiếu bởi nhiều phạm vi. Đối với mỗi biến như vậy, một đối tượng ô được tạo để lưu trữ giá trị; các biến cục bộ của mỗi khung ngăn xếp tham chiếu giá trị chứa tham chiếu đến các ô từ phạm vi bên ngoài cũng sử dụng biến đó. Khi giá trị được truy cập, giá trị chứa trong ô sẽ được sử dụng thay vì chính đối tượng ô đó. Việc hủy tham chiếu đối tượng ô này yêu cầu hỗ trợ từ mã byte được tạo; những thứ này không được tự động hủy tham chiếu khi được truy cập. Các đối tượng di động dường như không hữu ích ở nơi khác.
-
type PyCellObject¶
Cấu trúc C được sử dụng cho các đối tượng ô.
-
PyTypeObject PyCell_Type¶
Đối tượng loại tương ứng với đối tượng ô.
-
int PyCell_Check(PyObject *ob)¶
Trả về true nếu ob là một đối tượng ô; ob không được là
NULL. Chức năng này luôn thành công.
-
PyObject *PyCell_New(PyObject *ob)¶
- Giá trị trả về: Tham chiếu mới.
Tạo và trả về một đối tượng ô mới chứa giá trị ob. Tham số có thể là
NULL.
-
PyObject *PyCell_Get(PyObject *cell)¶
- Giá trị trả về: Tham chiếu mới.
Trả về nội dung của ô cell, có thể là
NULL. Nếu cell không phải là đối tượng ô, trả vềNULLvới một bộ ngoại lệ.
-
PyObject *PyCell_GET(PyObject *cell)¶
- Giá trị trả về: Tham chiếu mượn.
Trả về nội dung của ô cell, nhưng không kiểm tra xem cell có phải không phải là
NULLvà là đối tượng ô hay không.
-
int PyCell_Set(PyObject *cell, PyObject *value)¶
Đặt nội dung của đối tượng ô cell thành value. Điều này giải phóng tham chiếu đến bất kỳ nội dung hiện tại nào của ô. value có thể là
NULL. cell phải không phải làNULL.Nếu thành công, hãy trả về
0. Nếu cell không phải là đối tượng ô, hãy đặt ngoại lệ và trả về-1.