introduction to jython
TRANSCRIPT
INTRODUCTION TO JYTHON
JohnThursday, April 13, 2023
The reason for Jython
• Access Java class library• Embed in Java app servers• Mix and match Python and Java code
Install and configure Jython
• Download the jar file from www.jython.org/downloads.html
• download the jar file (latest version is jython.2.7 alpha,which means you will have all same feature as Python 2.7)
• Add “C:\jython2.7a2” into the path, the file jython.bat is the executable file
Attention: if you met problems in the interactive console
if you met this problem• Code never end if input a
string
Use chcp solve itInput command on line$ chcp 437
import Java built-in classes
Use HashMap java class>>> from java.util import HashMap>>> a = HashMap()>>> a. get(“key”,1)>>> a{key=1}>>> type(a)<type ‘java.util.HashMap’>
covert HashMap to dict>>> d = dict()>>> d.update(a)>>> print d{u’key’:1}
More examples
Call java swing libarayfrom javax.swing import *frame = JFrame(“Hello,Jython”)label = JLabel(“Hello Jython!”,JLabel.CENTER)frame.add(label)frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)frame.setSize(200,100)frame.close()
Mix Java and Python
Step 1: write java class in java file#file Foo.javapublic class Foo{
public String stuff(int x){
String buf = new String(“Test from Java:”);
buf = buf + Integer.toString(x);
return buf}
}
Step 2: compile it and add it to CLASSPATH
#Compile the java code#A Foo.class will be generated if java code have no error$ javac Foo.java#Build the jar file Foo.jar$ jar cvf Foo.jar Foo.class#update the CLASSPATH on windows$ set CLASSPATH = %CLASSPATH% C:/Foo.jar;#use echo view the change$ echo %CLASSPATH%
Use Java class in Python
import the Foo class>>> import Foo>>> f = Foo()>>> type(f)<type ‘Foo’>>>> f.stuff(123)u’This is a test from Java:123’
Inherit the Foo class>>> class Bar(Foo):
def blah(self,x):print “python, about to
do Java”print self.stuff(x)print “And back to
Python”>>> b = Bar()>>> b.blah(123)Python, about to do JavaThis is a test from Java: 123And back to Python