Core Jython / Python Examples

DocumentationAndEducation

Contents

  1. Core Jython / Python Examples
    1. Print
    2. JArray
    3. Multidimensional 2-D String Array
    4. Finding methods in a python script


Examples related to core Jython / Python will be here. Intended for those new to Python / Jython

Print

Print Hello world

 1 print 'Hello World' 
 2 print "Hello World"

JArray

I was curious on how to work with jarray and move the arrays between classes after being filled with values and operated. I think this example explains some of the basics. Of course, there are more pythonic ways to do this. Cheers! Alfonso Reyes

 1 from java.lang import Math
 2 from jarray import array, zeros
 3 import java.util.Random;
 4 
 5 class ArrayClass:
 6  """ This class will fill an array with random numbers
 7  and then return the array for further operations
 8  """
 9  def __init__(self, elems):
 10  self.N = elems
 11  systemEnergy = 0.0025
 12  self.v = zeros(self.N, "d") # array of zeros, double type
 13  v0 = Math.sqrt(2.0 * systemEnergy / self.N)
 14  for i in range(self.N):
 15  r = java.util.Random()
 16  self.v[i] = v0 * r.nextInt(self.N) # same velocity for all particles
 17 
 18  def out(self):
 19  for i in range(self.N):
 20  print i, self.v[i]
 21 
 22  def get(self):
 23  return self.v
 24 
 25 n = 100
 26 uarr = zeros(n, "d") # array of double to store some operations
 27 ac = ArrayClass(n) 
 28 ac.out() # print the array
 29 arr = ac.get() # get the array to start doing some work on it
 30 
 31 # get a first third of the array members and times 10
 32 print "Get a first third of the array members"
 33 for i in range(n/3):
 34  uarr[i] = arr[i] * 10
 35  print i, arr[i], uarr[i]

Multidimensional 2-D String Array

In case you need 2-D string arrays this example may help you to start. Cheers! Alfonso Reyes, Houston-Texas

 1 from java.lang.reflect import Array
 2 import java
 3 
 4 rows = 3
 5 cols = 3
 6 
 7 str2d = java.lang.reflect.Array.newInstance(java.lang.String,[rows, cols])
 8 str2d[0][0] = "python"
 9 str2d[1][0] = "jython"
 10 str2d[2][0] = "java"
 11 
 12 str2d[0][1] = "syntax "
 13 str2d[1][1] = "strength"
 14 str2d[2][1] = "libraries"
 15 
 16 str2d[0][2] = "unclutter"
 17 str2d[1][2] = "combine"
 18 str2d[2][2] = "graphics"
 19 
 20 print str2d
 21 
 22 print "printing multidimensional array"
 23 for i in range(len(str2d)):
 24  for j in range(len(str2d[i])):
 25  print str2d[i][j]+"\t",
 26  print
 27 print

Finding methods in a python script

Posted on the Jython list March 18, 2008:

This will give you name-method pairs; if you just want the names, call keys() on it.

import inspect

def _is_some_method(object):
 return inspect.ismethod(object) or inspect.ismethoddescriptor(object)

def allmethods(cl):
 methods = {}
 for key, value in inspect.getmembers(cl, _is_some_method):
 methods[key] = 1
 for base in cl.__bases__:
 methods.update(allmethods(base)) # all your base are belong to us
 for key in methods.keys():
 methods[key] = getattr(cl, key)
 return methods

Usage example:

>>> allmethods(str).keys()
['__unicode__', 'rjust', 'center', 'endswith', 'decode', 'translate', 'lower', 'encode', 'isunicode', '__setattr__', '__rmul__', '__add__', '__str__', 'istitle', 'lstrip', 'join', '__reduce_ex__', 'startswith', 'isalnum', 'rstrip', '__getattribute__', '__getslice__', '__eq__', '__init__', '__mod__', 'isupper', '__len__', 'rindex', 'isalpha', 'replace', '__ne__', 'strip', 'isspace', 'swapcase', 'split', 'isnumeric', 'capitalize', 'rfind', '__getitem__', '__contains__', 'title', '__ge__', 'index', '__repr__', 'ljust', 'islower', '__le__', 'isdecimal', 'expandtabs', '__delattr__', 'find', 'splitlines', 'count', 'upper', '__gt__', '__reduce__', 'isdigit', '__lt__', 'zfill', '__cmp__', '__mul__', '__hash__']

CoreJythonExamples (last edited 2010年03月13日 11:08:47 by s235-148)

AltStyle によって変換されたページ (->オリジナル) /