Hướng dẫn dùng python intrepreter python

Với những người lập trình viên Java thì Eclipse là 1 IDE quá quen thuộc, mặc dù nó hơi nặng một chút nhưng đầy đủ tính năng, nhiều plugin… Chính vì thế mà khi chuyển sang lập trình ngôn ngữ khác mình vẫn muốn sử dụng Eclipse.

Trong bài này mình sẽ thực hiện cài đặt plugin PyDev để thực hiện biến Eclipse thành Python IDE.

Cài đặt Plugin PyDev

Các bạn vào Help/Eclipse Marketplace

Hướng dẫn dùng python intrepreter python

Trong ô tìm kiếm nhập pydev và click vào biểu tượng tìm kiếm.

Chọn install PyDev.

Hướng dẫn dùng python intrepreter python
Hướng dẫn dùng python intrepreter python
Hướng dẫn dùng python intrepreter python

Sau khi cài đặt xong plugin bạn cần khởi động lại eclipse.

Hướng dẫn dùng python intrepreter python

Sau khi cài đặt xong plugin PyDev chúng ta đã có thể tạo project python trên Eclipse.

Các bạn vào New/Other

Hướng dẫn dùng python intrepreter python

Trong mục PyDev sẽ có lựa chọn tạo project, package python.

Hướng dẫn dùng python intrepreter python

Cấu hình Python Interpreter trên Eclipse

Phần cấu hình python interpreter này tương tự với việc bạn cấu hình JDK trên Eclipse vậy. Nó sẽ cho phép bạn trỏ tới version Python mà bạn muốn dùng để chạy project.

Bạn nào thích xem và làm theo video thì có thể xem video bên dưới đây (Nếu không thì có thể theo từng bước được viết trong bài này.)


Video hướng dẫn chi tiết cài đặt PyCharm, Sử dụng PyCharm tạo chương trình Python và chạy thử.


Đối với các dự án cá nhân thì bản Community đã hoàn toàn đầy đủ tính năng. Hãy Download bản đó về.

Hướng dẫn dùng python intrepreter python

Download PyCharm trên trang chủ JetBrains

 

Sau khi download thành công, PyCharm sẽ được lưu tại một thư mục Download của máy tính.

Ta click đúp lên file bộ cài, để tiến hành cài đặt PyCharm.

Hướng dẫn dùng python intrepreter python

Bắt đầu cài đặt PyCharm lên máy

 

Màn hình chào mừng được hiển thị, ta nhấn Next để tiếp tục.

Hướng dẫn dùng python intrepreter python

Giao diện cài Đặt PyCharm đầu tiên - Chọn Next

 

Sau đó, ta chọn đường dẫn thư mục chứa bộ cài nói trên.

Hướng dẫn dùng python intrepreter python

Chọn đường dẫn lưu PyCharm - Để mặc định

 

Tiếp theo, ta chọn các tùy chọn cho việc cài đặt.

Nếu máy chưa cài đặt Java thì ta tích vào tất cả các tùy chọn trên màn hình này.

Hướng dẫn dùng python intrepreter python

Chọn cài Tùy chọn Cài Đặt - Lựa chọn Như Hình nếu chưa cài Java, OS 64 Bit

Sau đó ta chọn Install trong màn hình tiếp theo, để bắt đầu tiến hành cài đặt PyCharm.

Hướng dẫn dùng python intrepreter python

Lựa chọn Install để cài đặt PyCharm

 

Sau khi cài đặt xong, PyCharm sẽ hỏi ta có muốn khởi động lại máy luôn hay không. Ta có thể chọn RebootNow để khởi động lại máy tính nhằm hoàn tất quá trình cài đặt.

Hướng dẫn dùng python intrepreter python

Chọn Reboot Now để khởi động lại và hoàn tất cài đặt PyCharm

 

Như vậy là về cơ bản chúng ta đã cài đặt xong Pycharm.

Nhưng để biết bạn đã cài đúng chưa thì chúng ta cần phải thử xem chương trình python của bạn có chạy được với Pycharm vừa cài không.

Sau khi cài xong, mở PyCharm, ta sẽ được hỏi "Có muốn Import các thiết lập đã có từ trước hay không?".

Đó là một sự nhầm lẫn lớn đối với những người mới bắt đầu làm việc ở Python và câu trả lời ở đây có một chút khó hiểu nên tôi sẽ làm cho nó dễ dàng hơn.

Nội dung chính Show

  • 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.
  • Ngôn ngữ được giải thích
  • Tại sao phải giải thích?
  • Nhược điểm của các ngôn ngữ được giải thích
  • Chính xác thì bộ sưu tập rác là gì?
  • __Pycache__ là gì?
  • Python có phải là loại trình biên dịch không?
  • Python có sử dụng một thông dịch viên không?
  • Python có sử dụng cả trình thông dịch và trình biên dịch không?
  • Tại sao Python không được biên soạn?

Khi chúng tôi hướng dẫn Python chạy kịch bản của chúng tôi, có một vài bước mà Python thực hiện trước khi mã của chúng tôi thực sự bắt đầu khủng hoảng:

  • Nó được tổng hợp thành mã byte.
  • Sau đó, nó được chuyển đến máy ảo.

Khi chúng tôi thực thi một số mã nguồn, Python biên dịch nó vào mã byte. Biên dịch là một bước dịch và mã byte là một đại diện độc lập nền tảng thấp của mã nguồn.

Lưu ý rằng mã byte python không phải là mã máy nhị phân (ví dụ: hướng dẫn cho chip intel).

Trên thực tế, Python dịch từng câu lệnh của mã nguồn thành các hướng dẫn mã byte bằng cách phân tách chúng thành các bước riêng lẻ. Bản dịch mã byte được thực hiện để thực hiện tốc độ. Mã byte có thể được chạy nhanh hơn nhiều so với các câu lệnh mã nguồn gốc. Nó có tiện ích mở rộng và nó sẽ được viết nếu nó có thể viết vào máy của chúng tôi.

Vì vậy, lần tới khi chúng tôi chạy cùng một chương trình, Python sẽ tải tệp .pyc và bỏ qua bước biên dịch trừ khi nó được thay đổi. Python tự động kiểm tra dấu thời gian của các tệp mã nguồn và byte để biết khi nào nó phải được biên dịch lại. Nếu chúng ta định lại mã nguồn, mã byte sẽ tự động tạo lại vào lần tiếp theo chương trình được chạy.

Nếu Python không thể viết các tệp mã byte vào máy của chúng tôi, chương trình của chúng tôi vẫn hoạt động. Mã byte được tạo trong bộ nhớ và chỉ cần loại bỏ trên lối ra chương trình. Nhưng bởi vì thời gian khởi động tốc độ .PYC, chúng tôi có thể muốn đảm bảo rằng nó đã được viết cho các chương trình lớn hơn.

Hãy tóm tắt những gì xảy ra đằng sau hậu trường. Khi Python thực hiện một chương trình, Python đọc .Py vào bộ nhớ và phân tích cú pháp nó để có được mã byte, sau đó tiếp tục thực thi. Đối với mỗi mô -đun được chương trình nhập, Python trước tiên kiểm tra xem liệu có phiên bản Bytecode được biên dịch trước, trong .Pyo hoặc .pyc, có dấu thời gian tương ứng với tệp .py của nó. Python sử dụng phiên bản bytecode nếu có. Mặt khác, nó phân tích tệp .py của mô -đun, lưu nó vào tệp .pyc và sử dụng mã byte mà nó vừa tạo. When Python executes a program, Python reads the .py into memory, and parses it in order to get a bytecode, then goes on to execute. For each module that is imported by the program, Python first checks to see whether there is a precompiled bytecode version, in a .pyo or .pyc, that has a timestamp which corresponds to its .py file. Python uses the bytecode version if any. Otherwise, it parses the module's .py file, saves it into a .pyc file, and uses the bytecode it just created.

Các tập tin mã byte cũng là một cách vận chuyển mã Python. Python vẫn sẽ chạy một chương trình nếu tất cả những gì nó có thể tìm thấy là các tệp.pyc, ngay cả khi các tệp nguồn .Py gốc không có ở đó.

Máy ảo Python (PVM)

Khi chương trình của chúng tôi đã được biên dịch thành mã byte, nó sẽ được chuyển đến để thực hiện vào máy ảo Python (PVM). PVM không phải là một chương trình riêng biệt. Nó không cần phải được cài đặt bởi chính nó. Trên thực tế, PVM chỉ là một vòng lặp lớn mà lặp lại thông qua hướng dẫn mã byte của chúng tôi, từng người một, để thực hiện các hoạt động của họ. PVM là động cơ thời gian chạy của Python. Nó luôn luôn có mặt như là một phần của hệ thống Python. Đó là thành phần thực sự chạy các tập lệnh của chúng tôi. Về mặt kỹ thuật, nó chỉ là bước cuối cùng của những gì được gọi là phiên dịch Python.

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 có phải là loại trình biên dịch không?

Python là một ngôn ngữ lập trình được giải thích và có nhiều môi trường thực thi khác nhau. Nó có một loạt các trình biên dịch để thực hiện các chương trình Python. Ví dụ, Pycharm, Pydev, Spyder, Atom, Visual Studio Code, Jupyter Notebook, ETC.It has a variety of compilers to execute the Python programs. For example, PyCharm, PyDev, Spyder, Atom, Visual Studio Code, Jupyter Notebook, etc.

Python có sử dụng một thông dịch viên không?

Trong các cuốn sách khác nhau về lập trình Python, người ta đã đề cập rằng ngôn ngữ Python được giải thích.Nhưng đó là một nửa chính xác Chương trình Python được biên soạn đầu tiên và sau đó được giải thích.

Python có sử dụng cả trình thông dịch và trình biên dịch không?

Python đều được biên dịch cũng như được giải thích trong khi chạy mã, Python tạo mã byte bên trong, mã byte này sau đó được chuyển đổi bằng máy ảo Python (p.v.m) để tạo đầu ra.