Hướng dẫn cpython là gì

Python là ngôn ngữ lập trình mục đích chung cấp cao được phát triển bởi Guido van Rossum vào cuối những năm 1980 và phát hành vào năm 1991. Nó là một ngôn ngữ được nhập động, có nghĩa là chúng ta không phải khai báo kiểu của biến, và loại giá trị được biết khi mã được thực thi và việc quản lý bộ nhớ được thực hiện tự động.

Bằng cách đọc bài viết này, bạn sẽ hiểu việc thực thi mã Python.

  • Python – Ngôn ngữ được thông dịch hay biên dịch?
  • Cả Biên dịch và Diễn giải
  • Làm thế nào để mã Python được thực thi?
  • Một số triển khai của Python
  • Sự khác biệt giữa CPython và Python
  • Kết luận

Python – Ngôn ngữ được thông dịch hay biên dịch?

Bạn sẽ đọc ở đâu đó trong các trang web hoặc sách, rằng Python là một ngôn ngữ được thông dịch. Nhưng sự thật là nó vừa được biên dịch vừa diễn giải.

Hãy để chúng tôi tìm hiểu về các kỹ thuật triển khai khác nhau như biên dịch và thông dịch, sau đó chúng tôi sẽ xem cách mã Python được thực thi. Trên đường đi bạn cũng có được một ý tưởng rõ ràng về sự thật nói trên.

Tổng hợp:

  • Biên dịch là quá trình trong đó mã nguồn được dịch sang ngôn ngữ đích, trong đó ngôn ngữ đích đôi khi là mã máy có thể đọc được và trong những lúc khác, nó đóng vai trò là đầu vào cho trình biên dịch hoặc trình thông dịch khác.
  • Nó lấy toàn bộ chương trình tại một thời điểm làm đầu vào.
  • Mã được dịch một lần thành mã đối tượng và có thể chạy nhiều lần.
  • Nó sẽ không thực thi mã mà máy có thể đọc được mà nó tạo ra; đây chỉ đơn giản là một bước dịch.
  • Nó là bước được thực hiện trước quá trình thực thi chương trình.

Diễn giải

  • Phiên dịch là quá trình mà nó đọc mã nguồn và ngay lập tức phản ứng với chúng.
  • Trình thông dịch thực hiện lệnh được chỉ định trong mã nguồn trong khi chương trình được thực thi.
  • Nó sử dụng một dòng mã duy nhất tại một thời điểm và thực thi nó.

Phiên dịch sử dụng các chiến lược khác nhau để thực hiện chương trình.

  1. Nó lấy mã nguồn, phân tích cú pháp và phản ứng dựa trên hướng dẫn được chỉ định.
  2. Mã nguồn được dịch thành một số loại biểu diễn trung gian và thực thi nó.
  3. Thực thi mã đã biên dịch đã được trình biên dịch thực hiện trước đó.

Trong 2 trường hợp cuối, trình biên dịch là một phần của hệ thống thông dịch.

Hướng dẫn cpython là gì

Cả Biên dịch và Diễn giải

Hãy xem chi tiết chiến lược 2 được nêu ở trên.

Nhiều ngôn ngữ lập trình không biên dịch thành mã máy thực, mà thành mã bytecode. Đầu tiên, Trình biên dịch sẽ biên dịch mã nguồn sang một ngôn ngữ trung gian gọi là Bytecode, là ngôn ngữ trình bày độc lập ở cấp độ thấp hơn, nền tảng của mã nguồn. Sau đó, máy ảo (Trình thông dịch) sẽ lấy bytecode và thực thi nó.

Hướng dẫn cpython là gì

Python tuân theo chiến lược 2 là diễn giải.

Phần mềm Python được cài đặt trên máy của bạn, có:

  1. thông dịch viên
  2. một thư viện hỗ trợ

Thông dịch viên được tạo thành từ:

Compiler

Trình biên dịch ở đây hoạt động như một bước dịch, nơi nó chuyển đổi mã nguồn Python của bạn thành biểu diễn bytecode độc ​​lập trên nền tảng trung gian. Mỗi câu lệnh của mã nguồn Python được dịch thành một nhóm mã byte.

Python Virtual Machine

Máy ảo Python là một phần của hệ thống Python thực sự chạy mã python ở định dạng bytecode. Nó nhận từng hướng dẫn bytecode và thực hiện hành động.

Hướng dẫn cpython là gì

Các bước liên quan khi bạn chạy mã Python của mình:

  1. Trình biên dịch nhận mã nguồn.
  2. Trình biên dịch kiểm tra cú pháp của từng dòng trong mã nguồn.
  3. Nếu trình biên dịch gặp lỗi, nó sẽ tạm dừng quá trình dịch với một thông báo lỗi (Lỗi cú pháp).
  4. Nếu không, nếu lệnh được định dạng tốt, thì nó sẽ dịch mã nguồn sang Bytecode.
  5. Bytecode được gửi đến Máy ảo Python (PVM)
  6. Bytecode cùng với các đầu vào và mô-đun Thư viện được đưa ra làm đầu vào cho PVM.
  7. PVM thực thi Bytecode và nếu có bất kỳ lỗi nào xảy ra, nó sẽ hiển thị thông báo lỗi (Runtime error).
  8. Ngược lại, nếu không có lỗi trong quá trình thực thi, nó sẽ dẫn đến kết quả đầu ra.

Một số triển khai của Python

Python có một số cách triển khai. Các bước được mô tả ở trên được thực hiện bởi triển khai mặc định của Python được gọi là CPython.

CPython

CPython là cách triển khai tiêu chuẩn của Python được viết bằng chương trình C. Đây là cách triển khai bạn tải xuống từ python.org. Nó là trình thông dịch Python mặc định.

Nó lấy chương trình nguồn và dịch nó thành bytecode, sau đó được thực thi bởi Máy ảo CPython.

Hướng dẫn cpython là gì

Jython

Jython là triển khai java của Python, nơi nó biên dịch mã Python thành Java Bytecode. Java Bytecode được thực thi bởi Java Virtual Machine (JVM).

Jython là chậm khi so sánh với CPython.

Hướng dẫn cpython là gì

IronPython  

IronPython là một triển khai khác của ngôn ngữ Python được viết bằng C #. Nó sử dụng Máy ảo .NET (Thời gian chạy ngôn ngữ chung của Microsoft (CLR)). Các ngôn ngữ .NET khác có thể sử dụng mã Python một cách dễ dàng vì nó sử dụng .NET FrameworkPython Libraries.

PyPy

PyPy là sự triển khai của ngôn ngữ lập trình Python được viết bằng Python. Trình thông dịch của Python được viết bằng RPython (một tập hợp con của Python). PyPy sử dụng một thứ gọi là Biên dịch JIT (Just-in-Time), nơi mã bytecode được biên dịch thành mã máy gốc và do đó, nó tăng tốc quá trình thực thi mã Python. Nó nhanh hơn CPython.

Một số triển khai khác của Python là Cython, IPython, Psyco, Stackless Python, MicroPython, v.v.

Sự khác biệt giữa CPython và Python

Vì vậy, bây giờ bạn chắc chắn sẽ hiểu sự khác biệt giữa CPython và Python.

CPython là cách triển khai Python mà bạn tải xuống từ python.org. Python là ngôn ngữ lập trình, nơi chúng được thực thi bởi CPython.

Kết luận

Ngôn ngữ lập trình Python vẫn giữ vị trí là ngôn ngữ đáng yêu nhất vì cấu trúc thân thiện của nó. Hầu hết các công ty hàng đầu như Google, Dropbox, NASA, Instagram, YouTube đều sử dụng Python. Python là một trong những ngôn ngữ được yêu thích nhất hiện nay, vì vậy điều quan trọng là phải học Python.

Trong bài viết này, tôi đã giải thích các thực thi chương trình Python và các cách triển khai khác nhau. Hành trình bài viết Python của tôi sẽ tiếp tục. Bình luận bên dưới nếu bạn có bất kỳ thắc mắc nào.

Trên đây là thông tin về Mã Python chạy như thế nào: CPython và sự khác biệt của Python mà tôi chia sẻ đến bạn. Hy vọng bài viết hữu ích với bạn, cảm ơn bạn đã theo dõi graphguide.org. Đừng quên Like & Share nếu bạn thấy bài viết này hữu ích nhé. 😉

Hãy xem thêm những bài viết tham khảo dưới đây:

  • Cách thêm nhãn trong Tkinter bằng Python 
  • Chương trình Python để đặt số dương và số âm trong danh sách riêng biệt