Mở rộng và nhúng trình thông dịch Python¶
Tài liệu này mô tả cách viết các mô-đun bằng C hoặc C++ để mở rộng trình thông dịch Python với các mô-đun mới. Các mô-đun đó không chỉ có thể xác định các hàm mới mà còn cả các loại đối tượng mới và phương thức của chúng. Tài liệu này cũng mô tả cách nhúng trình thông dịch Python vào một ứng dụng khác để sử dụng làm ngôn ngữ mở rộng. Cuối cùng, nó cho thấy cách biên dịch và liên kết các mô-đun mở rộng để chúng có thể được tải động (trong thời gian chạy) vào trình thông dịch, nếu hệ điều hành cơ bản hỗ trợ tính năng này.
Tài liệu này giả định kiến thức cơ bản về Python. Để biết phần giới thiệu không chính thức về ngôn ngữ, hãy xem Hướng dẫn Python. Tài liệu tham khảo ngôn ngữ Python đưa ra định nghĩa chính thức hơn về ngôn ngữ. Thư viện chuẩn Python ghi lại các loại đối tượng, chức năng và mô-đun hiện có (cả tích hợp và viết bằng Python) giúp ngôn ngữ này có phạm vi ứng dụng rộng rãi.
Để biết mô tả chi tiết về toàn bộ Python/C API, hãy xem Hướng dẫn tham khảo Python/C API riêng.
Công cụ của bên thứ ba được đề xuất¶
Hướng dẫn này chỉ bao gồm các công cụ cơ bản để tạo tiện ích mở rộng được cung cấp như một phần của phiên bản CPython này. Một số third party tools cung cấp cả cách tiếp cận đơn giản hơn và phức tạp hơn để tạo phần mở rộng C và C++ cho Python.
Tạo tiện ích mở rộng mà không cần công cụ của bên thứ ba¶
Phần hướng dẫn này đề cập đến việc tạo tiện ích mở rộng C và C++ mà không cần sự hỗ trợ từ các công cụ của bên thứ ba. Nó chủ yếu dành cho những người tạo ra các công cụ đó chứ không phải là một cách được khuyến nghị để tạo các tiện ích mở rộng C của riêng bạn.
Xem thêm
PEP 489 -- Khởi tạo mô-đun mở rộng nhiều pha
- 1. Mở rộng Python bằng C hoặc C++
- 1.1. Một ví dụ đơn giản
- 1.2. Intermezzo: Lỗi và ngoại lệ
- 1.3. Quay lại ví dụ
- 1.4. Bảng phương thức và hàm khởi tạo của mô-đun
- 1.5. Biên soạn và liên kết
- 1.6. Gọi hàm Python từ C
- 1.7. Trích xuất tham số trong hàm mở rộng
- 1.8. Tham số từ khóa cho các hàm mở rộng
- 1.9. Xây dựng giá trị tùy ý
- 1.10. Số lượng tham chiếu
- 1.11. Viết phần mở rộng bằng C++
- 1.12. Cung cấp C API cho Mô-đun mở rộng
- 2. Xác định các loại tiện ích mở rộng: Hướng dẫn
- 3. Xác định các loại tiện ích mở rộng: Các chủ đề khác nhau
- 4. Xây dựng phần mở rộng C và C++
- 5. Xây dựng tiện ích mở rộng C và C++ trên Windows
Nhúng thời gian chạy CPython vào một ứng dụng lớn hơn¶
Đôi khi, thay vì tạo một tiện ích mở rộng chạy bên trong trình thông dịch Python làm ứng dụng chính, bạn nên nhúng thời gian chạy CPython vào bên trong một ứng dụng lớn hơn. Phần này bao gồm một số chi tiết liên quan đến việc thực hiện điều đó thành công.