Sự phản xạ

PyObject *PyEval_GetBuiltins(void)
Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định.

Sắp loại bỏ từ phiên bản 3.13: Thay vào đó hãy sử dụng PyEval_GetFrameBuiltins().

Trả về một từ điển chứa các nội dung trong khung thực thi hiện tại hoặc trình thông dịch của trạng thái luồng nếu hiện không có khung nào đang thực thi.

PyObject *PyEval_GetLocals(void)
Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định.

Sắp loại bỏ từ phiên bản 3.13: Sử dụng PyEval_GetFrameLocals() để có hành vi tương tự như gọi locals() trong mã Python hoặc gọi PyFrame_GetLocals() theo kết quả của PyEval_GetFrame() để truy cập thuộc tính f_locals của khung hiện đang thực thi.

Trả về ánh xạ cung cấp quyền truy cập vào các biến cục bộ trong khung thực thi hiện tại hoặc NULL nếu hiện không có khung nào đang thực thi.

Tham khảo locals() để biết chi tiết về ánh xạ được trả về ở các phạm vi khác nhau.

Vì hàm này trả về borrowed reference nên từ điển được trả về cho optimized scopes sẽ được lưu vào bộ nhớ đệm trên đối tượng khung và sẽ vẫn tồn tại miễn là đối tượng khung vẫn tồn tại. Không giống như PyEval_GetFrameLocals()locals(), các lệnh gọi tiếp theo tới hàm này trong cùng một khung sẽ cập nhật nội dung của từ điển được lưu trong bộ nhớ đệm để phản ánh những thay đổi về trạng thái của các biến cục bộ thay vì trả về một ảnh chụp nhanh mới.

Thay đổi trong phiên bản 3.13: Là một phần của PEP 667, PyFrame_GetLocals(), locals()FrameType.f_locals không còn sử dụng từ điển bộ nhớ đệm dùng chung nữa. Tham khảo What's New entry để biết thêm chi tiết.

PyObject *PyEval_GetGlobals(void)
Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định.

Sắp loại bỏ từ phiên bản 3.13: Thay vào đó hãy sử dụng PyEval_GetFrameGlobals().

Trả về từ điển của các biến toàn cục trong khung thực thi hiện tại hoặc NULL nếu hiện không có khung nào đang thực thi.

PyFrameObject *PyEval_GetFrame(void)
Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định.

Trả về khung của attached thread state, là NULL nếu hiện tại không có khung nào đang thực thi.

Xem thêm PyThreadState_GetFrame().

PyObject *PyEval_GetFrameBuiltins(void)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định kể từ phiên bản 3.13.

Trả về một từ điển chứa các nội dung trong khung thực thi hiện tại hoặc trình thông dịch của trạng thái luồng nếu hiện không có khung nào đang thực thi.

Added in version 3.13.

PyObject *PyEval_GetFrameLocals(void)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định kể từ phiên bản 3.13.

Trả về từ điển của các biến cục bộ trong khung thực thi hiện tại hoặc NULL nếu hiện không có khung nào đang thực thi. Tương đương với việc gọi locals() trong mã Python.

Để truy cập f_locals trên khung hiện tại mà không tạo ảnh chụp nhanh độc lập trong optimized scopes, hãy gọi PyFrame_GetLocals() theo kết quả của PyEval_GetFrame().

Added in version 3.13.

PyObject *PyEval_GetFrameGlobals(void)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định kể từ phiên bản 3.13.

Trả về từ điển của các biến toàn cục trong khung thực thi hiện tại hoặc NULL nếu hiện không có khung nào đang thực thi. Tương đương với việc gọi globals() trong mã Python.

Added in version 3.13.

const char *PyEval_GetFuncName(PyObject *func)
Một phần của ABI ổn định.

Trả về tên của func nếu nó là một hàm, lớp hoặc đối tượng thể hiện, nếu không thì tên của loại funcs.

const char *PyEval_GetFuncDesc(PyObject *func)
Một phần của ABI ổn định.

Trả về chuỗi mô tả, tùy thuộc vào loại func. Các giá trị trả về bao gồm "()" cho các hàm và phương thức, " constructor", " instance" và " object". Kết hợp với kết quả của PyEval_GetFuncName(), kết quả sẽ là mô tả về func.