introduction to jython

8
INTRODUCTION TO JYTHON John Thursday, August 25, 2022

Upload: john-zhang

Post on 23-Jun-2015

160 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introduction to jython

INTRODUCTION TO JYTHON

JohnThursday, April 13, 2023

Page 2: Introduction to jython

The reason for Jython

• Access Java class library• Embed in Java app servers• Mix and match Python and Java code

Page 3: Introduction to jython

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

Page 4: Introduction to jython

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

Page 5: Introduction to jython

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}

Page 6: Introduction to jython

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()

Page 7: Introduction to jython

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%

Page 8: Introduction to jython

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