Máy ảo Python được viết bằng gì?

CPython là triển khai phần mềm Python tiêu chuẩn hoặc trình thông dịch Python mặc định. Mục đích chính của CPython là thực thi ngôn ngữ lập trình Python. CPython có khả năng tương thích tuyệt vời với các gói và mô-đun Python khác nhau. Trong hướng dẫn này, bạn sẽ có cái nhìn chi tiết về CPython

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Lịch sử của CPython

Phiên bản đầu tiên của CPython được phát hành vào năm 1994 bởi cộng đồng các nhà phát triển Python. Dự án ban đầu được Google tài trợ và do các nhân viên toàn thời gian của Google là Thomas Wouters, Jeffrey Yasskin và Collin Winter đứng đầu; . Nó được tải trực tiếp từ python. org và được viết bằng ngôn ngữ lập trình C.  

điều kiện tiên quyết

con trăn

Python là ngôn ngữ lập trình đa năng cấp cao

Thực hiện

Thực hiện là tất cả về những gì trình thông dịch kết thúc làm

Mã máy

Ngôn ngữ cấp cao sử dụng trình biên dịch để dịch mã nguồn thành mã máy thực thi. Hơn nữa, mã máy được CPU thực thi trực tiếp. Mỗi lệnh mã máy thực hiện một tác vụ duy nhất và mọi bộ xử lý hoặc họ bộ xử lý đều có tập lệnh mã máy riêng.

mã byte

Bytecode là một biểu diễn nhị phân được thực thi bởi một máy ảo chứ không phải bởi CPU trực tiếp. Tại đây, một máy ảo chuyển đổi lệnh nhị phân thành lệnh máy cụ thể. Java là một ví dụ

Mã máy nhanh hơn nhiều so với Bytecode, nhưng Bytecode có thể di động và an toàn so với mã máy

Mã nguồn của CPython

Bản phân phối nguồn CPython đi kèm với nhiều công cụ, thư viện và thành phần khác nhau

Để biên dịch CPython từ mã nguồn, bạn cần có trình biên dịch C và một số công cụ xây dựng theo hệ điều hành của bạn

Trong Windows, để tải xuống bản sao của mã nguồn CPython, bạn có thể sử dụng git để kéo phiên bản mới nhất về bản sao đang hoạt động cục bộ

$ git bản sao https. //github. com/trăn/cpython

$ cd cpython

$ git thanh toán v3. 8. 0b4

khóa học miễn phí. Lập trình với Python

Tìm hiểu kiến ​​thức cơ bản về lập trình với Python Đăng ký ngay

Tại sao CPython được viết bằng C mà không phải Python?

CPython được viết bằng C, theo mô hình biên dịch source-to-source. Có hai loại mô hình trình biên dịch

  • Trình biên dịch tự lưu trữ là trình biên dịch được viết bằng cùng ngôn ngữ mà chúng tiếp tục biên dịch, chẳng hạn như trình biên dịch Go
  • Trình biên dịch nguồn tới nguồn trước tiên được viết bằng ngôn ngữ khác đã có trình biên dịch

Nếu bạn đang phát triển một ngôn ngữ mới, bạn phải viết trình biên dịch của chúng bằng một ngôn ngữ lâu đời hơn. Bạn có một ví dụ rất hay khi nói đến ngôn ngữ Go. Trình biên dịch Go đầu tiên dựa trên ngôn ngữ lập trình C. Vì và khi Go có thể được biên dịch, trình biên dịch đã được viết lại bằng Go

Python có phải là ngôn ngữ được giải thích hoặc biên dịch không?

Trước khi kết luận, tốt nhất bạn nên hiểu cả hai khái niệm

Biên soạn

Biên dịch là một cách dịch mã nguồn thành mã có thể đọc được bằng máy. Nó lấy toàn bộ tệp mã làm đầu vào.  

Trong quá trình biên dịch, mã được dịch một lần thành mã máy và có thể được chạy nhiều lần. Nó sẽ không thực thi mã mà máy đã tạo ra

Diễn dịch

Phiên dịch là quá trình lấy một dòng mã tại một thời điểm và thực thi nó. Trình thông dịch thực thi lệnh được chỉ định trong tệp nguồn và song song chương trình được thực thi

Bạn hẳn đã nghe nói rằng Python là một ngôn ngữ được thông dịch. Trên thực tế, nó vừa là ngôn ngữ được biên dịch vừa là ngôn ngữ được giải thích

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Hoạt động của CPython

CPython tạo Bytecode dành riêng cho Python và sau đó thực thi nó

  • Trình biên dịch nhận mã nguồn
  • Sau đó, nó sẽ kiểm tra cú pháp trong mã nguồn
  • Nếu Trình biên dịch gặp lỗi, nó sẽ tạm dừng quá trình dịch và hiển thị thông báo lỗi [Lỗi cú pháp]
  • Và nếu hướng dẫn được định dạng tốt, thì nó sẽ dịch mã nguồn Python sang ngôn ngữ trung gian cấp thấp đặc biệt có tên là Bytecode
  • Bytecode này được lưu trữ trong. pyc trong một thư mục ẩn và được lưu vào bộ đệm để thực thi và chỉ được hiểu bởi CPython
  • Mã byte sau đó được gửi đến Máy ảo Python [PVM]. Máy ảo Python chạy mã python ở định dạng mã byte và là một phần của hệ thống Python
  • PVM nhận các hướng dẫn mã byte, đầu vào và mô-đun thư viện
  • PVM thực hiện các hướng dẫn và trong trường hợp có bất kỳ lỗi nào xảy ra, nó sẽ hiển thị thông báo lỗi [Lỗi thời gian chạy]. Khác nó dẫn đến đầu ra
Nắm vững các công nghệ front-end và back-end cũng như các khía cạnh nâng cao trong Chương trình Sau đại học của chúng tôi về Phát triển Web Full Stack. Giải phóng sự nghiệp của bạn với tư cách là một nhà phát triển full stack chuyên nghiệp. Liên lạc với chúng tôi NGAY BÂY GIỜ

Phần kết luận

Với điều này, bạn đã tìm hiểu về CPython và xem nó hoạt động như thế nào. CPython là một trong nhiều thời gian chạy Python ngoài PyPy, Cython và Jython

Nếu bạn muốn xây dựng sự nghiệp phát triển phần mềm, bạn có thể kiểm tra Chương trình sau đại học về Phát triển ngăn xếp đầy đủ của Simplilearn. Nó có thể là giải pháp lý tưởng giúp bạn xây dựng sự nghiệp đúng hướng

Nếu bạn có thắc mắc hoặc muốn cung cấp thông tin đầu vào cho nhóm biên tập của chúng tôi về hướng dẫn “Hướng dẫn tối cao về CPython” này, vui lòng sử dụng phần nhận xét bên dưới. Nhóm SMEs của chúng tôi sẽ sớm liên hệ lại với bạn

Tìm Chương trình đào tạo trực tuyến dành cho nhà phát triển Java Full Stack của chúng tôi tại các thành phố hàng đầu

NameDatePlaceFull Stack Nhóm nhà phát triển Java bắt đầu vào ngày 19 tháng 1 năm 2023,
Lô các ngày trong tuầnChi tiết CityView của bạn

Giới thiệu về tác giả

Abhisar Ahuja

Abhisar Ahuja tốt nghiệp ngành kỹ sư khoa học máy tính, anh thành thạo nhiều ngôn ngữ lập trình như C/C++, Java và Python

Python được viết bằng C++ hay C?

Vì vậy, chúng ta có thể nói rằng trình thông dịch Python được viết bằng ngôn ngữ lập trình C . Việc triển khai mã Python cũng có thể được thực hiện bằng các ngôn ngữ khác.

Làm cách nào để tạo VM bằng Python?

Tạo VM với cấu hình sau. * Tạo 2 đĩa và chỉ định một trong số chúng trên scsi0. 0 vì đó là đĩa khởi động * Chỉ định 1 bộ điều hợp ethernet bằng cách sử dụng sao lưu Nhóm cổng tiêu chuẩn * Thiết lập cho cài đặt PXE bằng cách chọn mạng làm thiết bị khởi động đầu tiên Sử dụng khách và hệ thống cung cấp mặc định cho hầu hết cấu hình

Máy ảo Python có phải là trình thông dịch Python không?

Máy ảo Python [PVM] [ một thành phần trình thông dịch Python khác ] tải mã byte [cùng với đầu vào và mô-đun thư viện] vào .

Python sử dụng trình thông dịch nào?

Tên cpython biểu thị loại trình thông dịch. CPython có nghĩa là trình thông dịch được triển khai bằng ngôn ngữ C. Tương tự, JPython là trình thông dịch Python được triển khai trong Java

Chủ Đề