Tôi đã cố gắng tìm hiểu cách viết các phần mở rộng C cho Python và muốn chắc chắn rằng tôi hiểu cách PyArg_ParseTupleAndKeywords hoạt động.PyArg_ParseTupleAndKeywords hoạt động như thế nào?
Tôi tin rằng đối số đầu tiên là một con trỏ PyObject trỏ đến một mảng các đối số được chuyển vào hàm C-mở rộng theo thứ tự chúng được truyền đi. Đối số thứ hai là danh sách các từ khóa đã được chuyển, các vị trí mà tại đó chúng được chuyển đi và rất có thể, một số loại cờ chỉ báo cho biết vị trí từ khóa bắt đầu và vị trí trở nên không liên quan.
PyArg_ParseTupleAndKeywords sau đó sử dụng danh sách từ khóa (đối số thứ 4) để ánh xạ giữa các đối số được chỉ định với từ khóa và cả chuỗi định dạng (đối số thứ 3) và địa chỉ của biến C (5th & + arguments). đã sao chép.
Sự hiểu biết của tôi có đúng không? Khi tôi đọc qua tài liệu trực tuyến, tất cả những gì tôi thấy là các tham chiếu đến "đối số vị trí và đối số từ khóa", điều này khiến tôi cảm thấy một chút trong bóng tối. Tệp tin cho trình thông dịch Python xử lý PyArg_ParseTupleAndKeywords ở đâu?
Thay vì chỉ C API doc, có là một bản tóm tắt có thể đọc được tốt tại http://docs.python.org/2/extending/extending.html – timbo