Jython và Python là gì?

Cuối cùng, Chương 12 và Chương 13 bao gồm các chủ đề Jython nâng cao. Chương 12 cho biết cách bạn có thể sử dụng Jython làm ngôn ngữ tập lệnh trong chương trình Java bằng cách đưa trình thông dịch Jython làm đối tượng. Trong Chương 13, chúng tôi trình bày cách bạn có thể biên dịch mã Jython của mình thành. lớp hoặc. các tệp jar có thể được chạy bởi bất kỳ công cụ JVM hoặc Java nào

Jython là một triển khai của ngôn ngữ lập trình Python được thiết kế để chạy trên nền tảng Java. Việc triển khai trước đây được gọi là JPython cho đến năm 1999

Tổng quan[sửa]

Các chương trình Jython có thể nhập và sử dụng bất kỳ lớp Java nào. Ngoại trừ một số mô-đun tiêu chuẩn, các chương trình Jython sử dụng các lớp Java thay vì các mô-đun Python. Jython bao gồm hầu hết tất cả các mô-đun trong bản phân phối ngôn ngữ lập trình Python tiêu chuẩn, chỉ thiếu một số mô-đun được triển khai ban đầu trong C. Ví dụ: giao diện người dùng trong Jython có thể được viết bằng Swing, AWT hoặc SWT. Jython biên dịch mã nguồn Python thành mã byte Java [một ngôn ngữ trung gian] theo yêu cầu hoặc tĩnh

Lịch sử[sửa]

Jython ban đầu được tạo ra vào cuối năm 1997 để thay thế C bằng Java cho mã hiệu suất cao được các chương trình Python truy cập, chuyển sang SourceForge vào tháng 10 năm 2000. Quỹ phần mềm Python đã trao một khoản tài trợ vào tháng 1 năm 2005. Jython 2. 5 được phát hành vào tháng 6 năm 2009

Tình trạng và lộ trình[sửa | sửa mã nguồn]

Bản phát hành gần đây nhất là Jython 2. 7. 2. Nó được phát hành vào ngày 21 tháng 3 năm 2020 và tương thích với Python 2. 7

Các thay đổi tương thích với Python 3 được lên kế hoạch trong Lộ trình Jython 3.

Mặc dù Jython triển khai đặc tả ngôn ngữ Python, nhưng nó có một số điểm khác biệt và không tương thích với CPython, đây là triển khai tham chiếu của Python

Điều khoản cấp phép[sửa]

Từ phiên bản 2. 2 trở đi, Jython [bao gồm thư viện chuẩn] được phát hành theo Giấy phép Python Software Foundation [v2]. Các phiên bản cũ hơn được bao phủ bởi Jython 2. 0, 2. 1 giấy phép và JPython 1. 1. x Giấy phép phần mềm

Jython là một triển khai của ngôn ngữ kịch bản Python, được viết bằng ngôn ngữ Java và được tích hợp với nền tảng Java. Python là một ngôn ngữ kịch bản hướng đối tượng mạnh mẽ. Jython rất hữu ích vì nó cung cấp các tính năng năng suất của ngôn ngữ kịch bản trưởng thành và không giống như Python, chạy trong bất kỳ môi trường nào hỗ trợ máy ảo Java [JVM]. Điều này có nghĩa là các thư viện Java trên JVM có sẵn để sử dụng khi bạn viết chương trình. Với Jython, bạn có thể tận dụng sự khác biệt này, đồng thời sử dụng cú pháp và hầu hết các tính năng của ngôn ngữ Python

Là một ngôn ngữ kịch bản, Python [và triển khai Jython của nó] dễ học và viết mã hiệu quả, đồng thời có cấu trúc yêu cầu tối thiểu để tạo một chương trình đang chạy. Mã có thể được nhập một cách tương tác, nghĩa là mỗi lần một dòng. Python là một ngôn ngữ kịch bản được giải thích; . Các chương trình Python chỉ đơn giản là các tệp văn bản được diễn giải khi chúng là đầu vào [sau khi phân tích cú pháp để tìm lỗi cú pháp]. Các biểu thức đơn giản, như các giá trị đã xác định, cũng như các hành động phức tạp hơn, chẳng hạn như định nghĩa hàm, được thực thi ngay lập tức và có sẵn để sử dụng. Bất kỳ thay đổi nào được thực hiện đối với mã đều có thể được kiểm tra nhanh chóng. Tuy nhiên, giải thích kịch bản có một số nhược điểm. Ví dụ: việc sử dụng một biến không xác định không phải là lỗi của trình biên dịch, vì vậy nó chỉ được phát hiện nếu [và khi] câu lệnh sử dụng biến đó được thực thi. Trong trường hợp này, chương trình có thể được chỉnh sửa và chạy để gỡ lỗi

Python xem mọi thứ, bao gồm tất cả dữ liệu và mã, là một đối tượng. Do đó, bạn có thể thao tác với các đối tượng này bằng các dòng mã. Một số loại chọn, chẳng hạn như số và chuỗi, thuận tiện hơn được coi là giá trị, không phải đối tượng; . Có một giá trị null được hỗ trợ. Giá trị null này có tên dành riêng None

Để có phần giới thiệu sâu hơn về tập lệnh Python và Jython, cũng như một số tập lệnh mẫu, hãy xem http. //www. ibm. com/developerworks/java/tutorials/j-jython1/j-jython1. html và http. //www. ibm. com/developerworks/java/tutorials/j-jython2/j-jython2. html

Nếu bạn là một lập trình viên Python có kinh nghiệm và muốn bắt đầu làm việc với ngôn ngữ lập trình Jython, thì điều quan trọng là phải biết sự khác biệt chính giữa hai tùy chọn phổ biến này để bạn có thể chọn tùy chọn phù hợp cho dự án của mình. Hướng dẫn này sẽ giúp bạn hiểu rõ hơn tại sao Jython được tạo ra và nó khác với Python như thế nào, cũng như những ưu và nhược điểm của việc sử dụng từng cái trong các tình huống khác nhau

Sau khi đọc bài viết này, bạn sẽ có thể lựa chọn giữa Jython và Python một cách tự tin hơn và xác định ngôn ngữ nào phù hợp nhất với các nhu cầu khác nhau

Mục lục

Khi nào nên sử dụng Jython

Nhược điểm lớn nhất của Jython là nó không được sử dụng rộng rãi như Python; . Nhưng nếu dự án của bạn được viết bằng Java [và bạn muốn tiết kiệm cho mình một số công việc bằng cách sử dụng mã Java trong chương trình Python của mình], thì Jython là một cách tốt để bắt đầu — bạn thậm chí có thể viết ít mã hơn về tổng thể vì Jython hoạt động tốt như thế nào

Đây cũng là một lựa chọn tốt nếu bạn cần quản lý bộ nhớ hoặc không muốn xử lý các sự cố nhập mô-đun của Python. Ngoài ra, vì nó không phổ biến như Python nên có rất nhiều công việc dành cho các lập trình viên biết rõ về nó

So sánh hai

Jython và Python có nhiều điểm tương đồng nhưng cũng có một số điểm khác biệt chính. Jython được viết bởi Jim Hugunin, người vẫn đang nghiên cứu nó cho đến nay, trong khi Python được Guido van Rossum tạo ra vào năm 1989 và tiếp tục được cải thiện bởi các lập trình viên khác tại quỹ của ông — Python Software Foundation [PSF]

Cả hai ngôn ngữ đều hướng đối tượng với các tính năng như ngoại lệ và đa kế thừa có trong cả Jython và Python. Tuy nhiên, có nhiều điểm khác biệt giữa chúng, chẳng hạn như Jython được nhập động trong khi Python được nhập tĩnh và có các bộ hàm tích hợp khác nhau trong cả hai ngôn ngữ

So sánh hiệu suất

Hiệu suất của Python phụ thuộc vào việc triển khai nó; . Bảng so sánh này tóm tắt sự khác biệt về hiệu suất trong một số triển khai của Python và khi chạy các ứng dụng Python [nhưng không phải các tập lệnh ngắn] được viết bằng Jython hoặc Cython. Đặc tả ngôn ngữ Python xác định một cú pháp không chính thức được gọi là mã pythonic

Nguồn. https. //www. học giả ngữ nghĩa. org/Benchmark-Python-Interpreter

Mặc dù không có tiêu chuẩn duy nhất cho những gì cấu thành mã Pythonic, nhưng nó chỉ ra một số thực tiễn phổ biến nhất định của các lập trình viên Python có kinh nghiệm. Mã tuân theo các phương pháp này có vẻ đơn giản hơn và dễ đọc hơn đối với các lập trình viên Python có kinh nghiệm — đặc biệt là khi xử lý các cấu trúc phức tạp như phạm vi — và do đó giảm thiểu các lỗi do người mới mắc phải khi viết mã Python chính xác. Hãy so sánh một số thứ khác

So sánh cú pháp

Python và Jython giống nhau về mặt cú pháp, nhưng có một số khác biệt nhỏ có thể khiến bạn ngạc nhiên. Sự khác biệt lớn nhất giữa hai ngôn ngữ này là phạm vi của chúng. Jython là ngôn ngữ kịch bản cho Python và nó có thể được sử dụng cho mục đích lập trình chung giống như Python thông thường

Ngược lại, Python là một ngôn ngữ lập trình hoàn toàn khác có cú pháp tương tự như Java. Điều này làm cho Jython linh hoạt hơn nhiều so với Python thông thường vì nó cung cấp cho bạn cách giao tiếp liền mạch với các ngôn ngữ khác cũng như tự đứng vững như một ngôn ngữ lập trình độc lập [mặc dù nó cũng có thể hoạt động cùng với các ngôn ngữ lập trình khác]. Không giống như hầu hết các ngôn ngữ lập trình phổ biến, chẳng hạn như C hoặc Pascal, JyPython thực sự biên dịch mã của nó theo từng dòng thay vì hàng loạt khi chương trình của bạn hoàn thành

So sánh các thư viện có sẵn

Jython có quyền truy cập vào tất cả các thư viện của Python, với một số ngoại lệ nhỏ như SQLite và một số thư viện khác. Nó cũng có thể sử dụng trực tiếp các thư viện Java mà không cần phải viết hoặc biên dịch bất cứ thứ gì thành mã Python trước

Điều này giúp các nhà phát triển Jython sử dụng phần mềm được viết bằng Java dễ dàng hơn đáng kể nếu họ chọn, nhưng điều đó cũng có nghĩa là Jython không tương thích với các triển khai thay thế khác của Python như IronPython hoặc PyPy;

Sự khác biệt giữa Python và Jython là gì?

Jython và Python là hai phiên bản của cùng một ngôn ngữ, được sử dụng cho các ngữ cảnh khác nhau. Jython là một triển khai Java của Python , tóm lại, có nghĩa là Python chạy trên môi trường Máy ảo Java [JVM]. Nó viết như Python, nhưng nó có thể truy cập toàn bộ tiềm năng của các thư viện Java.

Jython có yêu cầu Python không?

Có. Jython là một triển khai của ngôn ngữ Python trong Java . Chúng tôi cố gắng đảm bảo rằng Jython vẫn tương thích với CPython nhất có thể. Bản phát hành Jython mới nhất [2. 2] triển khai cùng ngôn ngữ với CPython 2. 2 và nhiều mô-đun thư viện chuẩn Python.

Python trong Java là gì?

Có nhiều thử nghiệm hơn mã sản xuất. Java là ngôn ngữ được nhập và biên dịch tĩnh, còn Python là ngôn ngữ được nhập và thông dịch động . Sự khác biệt duy nhất này làm cho Java chạy nhanh hơn và dễ gỡ lỗi hơn, nhưng Python dễ sử dụng và dễ đọc hơn.

Jython có phải là ngôn ngữ kịch bản không?

tuy nhiên, bất kỳ lớp Java nào nằm trong bản cài đặt Fiji đều có thể được sử dụng. Ngay cả với những hạn chế nhất định, Jython là một ngôn ngữ mạnh mẽ cho tập lệnh ImageJ .

Chủ Đề