Hướng dẫn what does python run on? - python chạy trên cái gì?

Một lời giải thích đơn giản về cách mã Python được thực thi khác với các ngôn ngữ lập trình cũ hơn.

Tín dụng hình ảnh-https://encrypted-tbn0.gstatic.com/images?q=tbn:

Là một kỹ sư học máy, tôi đã sử dụng Python trong hơn một năm. Gần đây, tôi cũng đã bắt đầu học C ++, để giải trí. Nó làm cho tôi nhận ra Python dễ dàng và trực quan như thế nào. Tôi đã tò mò hơn về việc Python khác với các ngôn ngữ khác và hoạt động của nó. Trong blog này, tôi cố gắng gãi Python, làm việc bên trong.

Python bắt đầu như một dự án sở thích của Guido Van Rossum và được phát hành lần đầu tiên vào năm 1991. Một ngôn ngữ có mục đích chung, Python đang cung cấp năng lượng lớn cho nhiều công ty như Netflix và Instagram. Trong một cuộc phỏng vấn, Guido so sánh Python với các ngôn ngữ như Java hoặc Swift và nói rằng trong khi hai người sau là một lựa chọn tuyệt vời cho các nhà phát triển phần mềm - những người có công việc hàng ngày là lập trình, nhưng Python được tạo ra cho những người có công việc hàng ngày không liên quan gì đến phần mềm Phát triển nhưng họ mã chủ yếu để xử lý dữ liệu.

Khi bạn đọc về Python, khá thường xuyên, bạn bắt gặp những từ như - được biên dịch so với diễn giải, mã byte và mã máy, gõ động so với gõ tĩnh, bộ thu gom rác, v.v. Wikipedia mô tả Python là

Python là một ngôn ngữ lập trình đa năng được giải thích, cấp cao. Nó được gõ linh hoạt và thu thập rác. is an interpreted, high-level, general-purpose programming language. It is is dynamically typed and garbage-collected.

Ngôn ngữ được giải thích

Khi bạn viết một chương trình trong C/C ++, bạn phải biên dịch nó. Biên dịch liên quan đến việc dịch mã con người của bạn thành mã có thể hiểu được hoặc mã máy. Mã máy là dạng cấp cơ sở của các hướng dẫn có thể được thực thi trực tiếp bởi CPU. Khi biên dịch thành công, mã của bạn tạo ra một tệp thực thi. Thực hiện tệp này chạy các hoạt động trong mã của bạn từng bước.

Đối với hầu hết các phần, Python là một ngôn ngữ được giải thích và không phải là một ngôn ngữ được biên dịch, mặc dù tổng hợp là một bước. Mã Python, được viết trong tệp .py được biên dịch đầu tiên với cái được gọi là mã byte (được thảo luận chi tiết hơn nữa) được lưu trữ với định dạng .pyc hoặc .pyo..py file is first compiled to what is called bytecode (discussed in detail further) which is stored with a .pyc or .pyo format.

Thay vì dịch mã nguồn sang mã máy như C ++, mã python được dịch thành mã byte. Bytecode này là một tập hợp các hướng dẫn cấp thấp có thể được thực thi bởi một trình thông dịch. Trong hầu hết các PC, trình thông dịch Python được cài đặt tại /usr/local/bin/python3.8. Thay vì thực hiện các hướng dẫn trên CPU, các hướng dẫn bytecode được thực thi trên máy ảo.interpreter. In most PCs, Python interpreter is installed at /usr/local/bin/python3.8. Instead of executing the instructions on CPU, bytecode instructions are executed on a Virtual Machine.

Tại sao phải giải thích?

Một lợi thế phổ biến của các ngôn ngữ được giải thích là chúng độc lập với nền tảng. Miễn là mã python byte và máy ảo có cùng phiên bản, mã byte Python có thể được thực thi trên bất kỳ nền tảng nào (windows, macOS, v.v.).

Gõ động là một lợi thế khác. Trong các ngôn ngữ được xy bằng tĩnh như C ++, bạn phải khai báo loại biến và bất kỳ sự khác biệt nào như thêm chuỗi và số nguyên được kiểm tra trong thời gian biên dịch. Trong các ngôn ngữ được đánh máy mạnh mẽ như Python, công việc của người phiên dịch là kiểm tra tính hợp lệ của các loại và hoạt động biến được thực hiện.

Nhược điểm của các ngôn ngữ được giải thích

Gõ động cung cấp rất nhiều tự do, nhưng đồng thời nó làm cho mã của bạn rủi ro và đôi khi khó gỡ lỗi.

Python thường bị buộc tội là ‘chậm. Bây giờ trong khi thuật ngữ này là tương đối và lập luận rất nhiều, lý do để chậm là vì trình thông dịch phải thực hiện công việc làm thêm để có hướng dẫn mã byte được dịch thành một hình thức có thể được thực thi trên máy. Một bài viết StackOverflow giúp dễ hiểu bằng cách sử dụng một sự tương tự -

Nếu bạn có thể nói bằng ngôn ngữ mẹ đẻ của mình với ai đó, điều đó thường sẽ hoạt động nhanh hơn là có thông dịch viên phải dịch ngôn ngữ của bạn sang một số ngôn ngữ khác để người nghe hiểu.

Chính xác thì bộ sưu tập rác là gì?

Trong các ngôn ngữ lập trình cũ, phân bổ bộ nhớ khá thủ công. Nhiều lần khi bạn sử dụng các biến không còn được sử dụng hoặc tham chiếu ở bất kỳ nơi nào khác trong chương trình, chúng cần được làm sạch từ bộ nhớ. Người thu gom rác làm điều đó cho bạn. Nó tự động giải phóng không gian mà không cần bạn làm gì cả. Quản lý bộ nhớ hoạt động theo hai cách -

Theo một cách đơn giản hóa, nó theo dõi số lượng tham chiếu đến một đối tượng. Khi số đó đi xuống 0, nó sẽ xóa đối tượng đó. Điều này được gọi là đếm tham chiếu. Điều này không thể bị vô hiệu hóa trong Python.reference counting. This cannot be disabled in Python.

Trong trường hợp đối tượng tham chiếu bản thân hoặc hai đối tượng đề cập đến nhau, một quy trình gọi là bộ sưu tập rác thế hệ sẽ giúp. Đây là một cái gì đó đếm tham chiếu truyền thống không thể chăm sóc.

__Pycache__ là gì?

Nhiều lần trong dự án cá nhân của bạn hoặc trên GitHub, bạn có thể đã thấy một thư mục có tên __pycache__ được tạo tự động.

/folder   - __pycache__       - preprocess.cpython-36.pyc   - preprocess.py

Như bạn có thể thấy, tên tệp giống như tên bên ngoài thư mục __pycache__. Phần mở rộng .pyc cho chúng tôi biết rằng tệp chứa mã byte cho tiền xử lý.py. Tên Cpython biểu thị loại phiên dịch. Cpython có nghĩa là thông dịch viên đã được triển khai bằng ngôn ngữ C. Tương tự, JPython là một thông dịch viên Python được triển khai trong Java.cpython denotes the type of interpreter. CPython means that the interpreter was implemented in C language. Similarly, JPython is a Python interpreter implemented in Java.

Nhưng tại sao thư mục được tạo ở nơi đầu tiên? Vâng, nó làm tăng một chút tốc độ của chương trình Python. Trừ khi bạn thay đổi mã python của mình, việc sắp xếp lại thành mã byte được tránh, do đó tiết kiệm thời gian.

Tôi đã bắt đầu blog cá nhân của mình và tôi không có ý định viết nhiều bài viết tuyệt vời hơn trên Medium. Hỗ trợ blog của tôi bằng cách đăng ký vào ThenLP.Space

Python chạy trên phần mềm nào?

Các hệ điều hành.Để bắt đầu lập trình, bạn cần một hệ điều hành (HĐH).Python là nền tảng chéo và sẽ hoạt động trên Windows, MacOS và Linux.Windows, macOS, and Linux.

Python có chạy qua C không?

Vì hầu hết hệ điều hành hiện đại được viết bằng C, các trình biên dịch/phiên dịch cho các ngôn ngữ cấp cao hiện đại cũng được viết bằng C. Python không phải là một ngoại lệ - triển khai "truyền thống" nhất của nó được gọi là CPython và được viết bằng C.Triển khai: Ironpython (Python chạy trên.its most popular/"traditional" implementation is called CPython and is written in C. There are other implementations: IronPython (Python running on .