Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.python.core
Class PyObject

    java.lang.Object
      |
      +--org.python.core.PyObject

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  PyBeanEvent, PyBuiltinFunctionSet, PyCell, PyClass, PyCode, PyComplex, PyCompoundCallable, PyConnection, PyCursor, PyDictionary, PyFile, PyFloat, PyFrame, PyFunction, PyInstance, PyInteger, PyJavaPackage, PyLong, PyMethod, PyModule, PyReflectedField, PyReflectedFunction, PySequence, PySingleton, PySlice, PyStringMap, PySystemState, PyTraceback, zxJDBC

public class PyObject
extends java.lang.Object
implements java.io.Serializable

All objects known to the Jython runtime system are represented by an instance of the class `PyObject` or one of its subclasses.

Since:
  JPython 0.0
Version:
  1.1, 1/5/98
Author:
  Jim Hugunin - hugunin@python.org
See Also:
  Serialized Form

Field Summary
`PyClass` | `__class__` The Python class of this object.

Constructor Summary
`PyObject()` The standard constructor for a `PyObject`.

Method Summary
`PyObject` | `__abs__()` Equivalent to the standard Python __abs__ method.
`PyObject` | `__add__(PyObject other)` Equivalent to the standard Python __add__ method
`PyObject` | `__and__(PyObject other)` Equivalent to the standard Python __and__ method
`PyObject` | `__call__()` A variant of the __call__ method with no arguments.
`PyObject` | `__call__(PyObject arg0)` A variant of the __call__ method with one argument.
`PyObject` | `__call__(PyObject[] args)` A variant of the __call__ method when no keywords are passed.
`PyObject` | `__call__(PyObject[] args, java.lang.String[] keywords)` The basic method to override when implementing a callable object.
`PyObject` | `__call__(PyObject arg0, PyObject arg1)` A variant of the __call__ method with two arguments.
`PyObject` | `__call__(PyObject arg1, PyObject[] args, java.lang.String[] keywords)` A variant of the __call__ method with one extra initial argument.
`PyObject` | `__call__(PyObject arg0, PyObject arg1, PyObject arg2)` A variant of the __call__ method with three arguments.
`PyObject` | `__call__(PyObject arg0, PyObject arg1, PyObject arg2, PyObject arg3)` A variant of the __call__ method with four arguments.
`int` | `__cmp__(PyObject other)` Equivalent to the standard Python __cmp__ method.
`PyObject` | `__coerce__(PyObject pyo)` Equivalent to the standard Python __coerce__ method.
`java.lang.Object` | `__coerce_ex__(PyObject o)` Implements numeric coercion
`PyComplex` | `__complex__()` Equivalent to the standard Python __complex__ method.
`boolean` | `__contains__(PyObject o)` Equivalent to the standard Python __contains__ method.
`void` | `__delattr__(PyString name)` Equivalent to the standard Python __delattr__ method.
`void` | `__delattr__(java.lang.String name)` A variant of the __delattr__ method which accepts a String as the key.
`void` | `__delitem__(PyObject key)` Equivalent to the standard Python __delitem__ method.
`void` | `__delitem__(java.lang.String key)` A variant of the __delitem__ method which accepts a String as the key.
`void` | `__delslice__(PyObject start, PyObject stop)`
`void` | `__delslice__(PyObject s_start, PyObject s_stop, PyObject s_step)`
`PyObject` | `__dir__()` Equivalent to the standard Python __dir__ method.
`PyObject` | `__div__(PyObject other)` Equivalent to the standard Python __div__ method
`PyObject` | `__divmod__(PyObject other)` Equivalent to the standard Python __divmod__ method
`PyObject` | `__eq__(PyObject other)` Equivalent to the standard Python __eq__ method.
`PyObject` | `__findattr__(PyString name)` Very similar to the standard Python __getattr__ method.
`PyObject` | `__findattr__(java.lang.String name)` A variant of the __findattr__ method which accepts a Java `String` as the name.
`PyObject` | `__finditem__(int key)` A variant of the __finditem__ method which accepts a primitive `int` as the key.
`PyObject` | `__finditem__(PyObject key)` Very similar to the standard Python __getitem__ method.
`PyObject` | `__finditem__(java.lang.String key)` A variant of the __finditem__ method which accepts a Java `String` as the key.
`PyFloat` | `__float__()` Equivalent to the standard Python __float__ method.
`PyObject` | `__ge__(PyObject other)` Equivalent to the standard Python __ge__ method.
`PyObject` | `__getattr__(PyString name)` Equivalent to the standard Python __getattr__ method.
`PyObject` | `__getattr__(java.lang.String name)` A variant of the __getattr__ method which accepts a Java `String` as the name.
`PyObject` | `__getitem__(int key)` Equivalent to the standard Python __getitem__ method.
`PyObject` | `__getitem__(PyObject key)` Equivalent to the standard Python __getitem__ method.
`PyObject` | `__getslice__(PyObject start, PyObject stop)`
`PyObject` | `__getslice__(PyObject s_start, PyObject s_stop, PyObject s_step)`
`PyObject` | `__gt__(PyObject other)` Equivalent to the standard Python __gt__ method.
`PyInteger` | `__hash__()` Equivalent to the standard Python __hash__ method.
`PyString` | `__hex__()` Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.
`PyObject` | `__iadd__(PyObject other)` Equivalent to the standard Python __iadd__ method
`PyObject` | `__iand__(PyObject other)` Equivalent to the standard Python __iand__ method
`PyObject` | `__idiv__(PyObject other)` Equivalent to the standard Python __idiv__ method
`PyObject` | `__idivmod__(PyObject other)` Equivalent to the standard Python __idivmod__ method
`PyObject` | `__ilshift__(PyObject other)` Equivalent to the standard Python __ilshift__ method
`PyObject` | `__imod__(PyObject other)` Equivalent to the standard Python __imod__ method
`PyObject` | `__imul__(PyObject other)` Equivalent to the standard Python __imul__ method
`PyInteger` | `__int__()` Equivalent to the standard Python __int__ method.
`PyObject` | `__invert__()` Equivalent to the standard Python __invert__ method.
`PyObject` | `__ior__(PyObject other)` Equivalent to the standard Python __ior__ method
`PyObject` | `__ipow__(PyObject other)` Equivalent to the standard Python __ipow__ method
`PyObject` | `__irshift__(PyObject other)` Equivalent to the standard Python __irshift__ method
`PyObject` | `__isub__(PyObject other)` Equivalent to the standard Python __isub__ method
`PyObject` | `__ixor__(PyObject other)` Equivalent to the standard Python __ixor__ method
`PyObject` | `__le__(PyObject other)` Equivalent to the standard Python __le__ method.
`int` | `__len__()` Equivalent to the standard Python __len__ method.
`PyLong` | `__long__()` Equivalent to the standard Python __long__ method.
`PyObject` | `__lshift__(PyObject other)` Equivalent to the standard Python __lshift__ method
`PyObject` | `__lt__(PyObject other)` Equivalent to the standard Python __lt__ method.
`PyObject` | `__mod__(PyObject other)` Equivalent to the standard Python __mod__ method
`PyObject` | `__mul__(PyObject other)` Equivalent to the standard Python __mul__ method
`PyObject` | `__ne__(PyObject other)` Equivalent to the standard Python __ne__ method.
`PyObject` | `__neg__()` Equivalent to the standard Python __neg__ method.
`boolean` | `__nonzero__()` Equivalent to the standard Python __nonzero__ method.
`PyObject` | `__not__()` Implements boolean not
`PyString` | `__oct__()` Equivalent to the standard Python __oct__ method.
`PyObject` | `__or__(PyObject other)` Equivalent to the standard Python __or__ method
`PyObject` | `__pos__()` Equivalent to the standard Python __pos__ method.
`PyObject` | `__pow__(PyObject other)` Equivalent to the standard Python __pow__ method
`PyObject` | `__pow__(PyObject o2, PyObject o3)` Implements the three argument power function.
`PyObject` | `__radd__(PyObject other)` Equivalent to the standard Python __radd__ method
`PyObject` | `__rand__(PyObject other)` Equivalent to the standard Python __rand__ method
`PyObject` | `__rdiv__(PyObject other)` Equivalent to the standard Python __rdiv__ method
`PyObject` | `__rdivmod__(PyObject other)` Equivalent to the standard Python __rdivmod__ method
`PyString` | `__repr__()` Equivalent to the standard Python __repr__ method.
`PyObject` | `__rlshift__(PyObject other)` Equivalent to the standard Python __rlshift__ method
`PyObject` | `__rmod__(PyObject other)` Equivalent to the standard Python __rmod__ method
`PyObject` | `__rmul__(PyObject other)` Equivalent to the standard Python __rmul__ method
`PyObject` | `__ror__(PyObject other)` Equivalent to the standard Python __ror__ method
`PyObject` | `__rpow__(PyObject other)` Equivalent to the standard Python __rpow__ method
`PyObject` | `__rrshift__(PyObject other)` Equivalent to the standard Python __rrshift__ method
`PyObject` | `__rshift__(PyObject other)` Equivalent to the standard Python __rshift__ method
`PyObject` | `__rsub__(PyObject other)` Equivalent to the standard Python __rsub__ method
`PyObject` | `__rxor__(PyObject other)` Equivalent to the standard Python __rxor__ method
`void` | `__setattr__(PyString name, PyObject value)` Equivalent to the standard Python __setattr__ method.
`void` | `__setattr__(java.lang.String name, PyObject value)` A variant of the __setattr__ method which accepts a String as the key.
`void` | `__setitem__(int key, PyObject value)` A variant of the __setitem__ method which accepts a primitive `int` as the key.
`void` | `__setitem__(PyObject key, PyObject value)` Equivalent to the standard Python __setitem__ method.
`void` | `__setitem__(java.lang.String key, PyObject value)` A variant of the __setitem__ method which accepts a String as the key.
`void` | `__setslice__(PyObject start, PyObject stop, PyObject value)`
`void` | `__setslice__(PyObject s_start, PyObject s_stop, PyObject s_step, PyObject value)`
`PyString` | `__str__()` Equivalent to the standard Python __str__ method.
`PyObject` | `__sub__(PyObject other)` Equivalent to the standard Python __sub__ method
`java.lang.Object` | `__tojava__(java.lang.Class c)` Equivalent to the Jython __tojava__ method.
`PyObject` | `__xor__(PyObject other)` Equivalent to the standard Python __xor__ method
`PyObject` | `_add(PyObject o2)` Implements the Python expression `this + other`
`PyObject` | `_and(PyObject o2)` Implements the Python expression `this & other`
`PyObject` | `_callextra(PyObject[] args, java.lang.String[] keywords, PyObject starargs, PyObject kwargs)` Deprecated.
`int` | `_cmp(PyObject o)` Implements cmp(this, other)
`PyObject` | `_div(PyObject o2)` Implements the Python expression `this / other`
`PyObject` | `_divmod(PyObject o2)` Implements the Python expression `this divmod other`
`boolean` | `_dodel(PyObject container)`
`PyObject` | `_doget(PyObject container)`
`PyObject` | `_doget(PyObject container, PyObject wherefound)`
`boolean` | `_doset(PyObject container, PyObject value)`
`PyObject` | `_eq(PyObject o)` Implements the Python expression `this == other`.
`PyObject` | `_ge(PyObject o)` Implements the Python expression `this >= other`.
`PyObject` | `_gt(PyObject o)` Implements the Python expression `this > other`.
`PyObject` | `_in(PyObject o)` Implements `in` operator.
`PyObject` | `_is(PyObject o)` Implements `is` operator.
`PyObject` | `_isnot(PyObject o)` Implements `is not` operator.
`PyObject` | `_jcall(java.lang.Object[] args)`
`PyObject` | `_jcallexc(java.lang.Object[] args)` A convenience function for PyProxy's.
`void` | `_jthrow(java.lang.Throwable t)`
`PyObject` | `_le(PyObject o)` Implements the Python expression `this <= other`.
`PyObject` | `_lshift(PyObject o2)` Implements the Python expression `this << other`
`PyObject` | `_lt(PyObject o)` Implements the Python expression `this < other`.
`PyObject` | `_mod(PyObject o2)` Implements the Python expression `this % other`
`PyObject` | `_mul(PyObject o2)` Implements the Python expression `this * other`
`PyObject` | `_ne(PyObject o)` Implements the Python expression `this !`
`PyObject` | `_notin(PyObject o)` Implements `not in` operator.
`PyObject` | `_or(PyObject o2)` Implements the Python expression `this | other`
`PyObject` | `_pow(PyObject o2)` Implements the Python expression `this ** other`
`PyObject` | `_rshift(PyObject o2)` Implements the Python expression `this >> other`
`PyObject` | `_sub(PyObject o2)` Implements the Python expression `this - other`
`PyObject` | `_xor(PyObject o2)` Implements the Python expression `this ^ other`
`boolean` | `equals(java.lang.Object ob_other)` Should almost never be overridden.
`int` | `hashCode()`
`PyObject` | `invoke(java.lang.String name)` Shortcut for calling a method on a PyObject with no args.
`PyObject` | `invoke(java.lang.String name, PyObject arg1)` Shortcut for calling a method on a PyObject with one arg.
`PyObject` | `invoke(java.lang.String name, PyObject[] args)`
`PyObject` | `invoke(java.lang.String name, PyObject[] args, java.lang.String[] keywords)` Shortcut for calling a method on a PyObject from Java.
`PyObject` | `invoke(java.lang.String name, PyObject arg1, PyObject arg2)` Shortcut for calling a method on a PyObject with two args.
`boolean` | `isCallable()`
`boolean` | `isMappingType()`
`boolean` | `isNumberType()`
`boolean` | `isSequenceType()`
`java.lang.String` | `safeRepr()`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### __class__

    public transient PyClass __class__

  The Python class of this object. Unlike in CPython, all types have this attribute, even builtins. This should only be set in the constructor, never modified otherwise.

Constructor Detail

### PyObject

    public PyObject()

  The standard constructor for a `PyObject`. It will set the `__class__` field to correspond to the specific subclass of `PyObject` being instantiated.

Method Detail

### __repr__

    public PyString __repr__()

  Equivalent to the standard Python __repr__ method. This method should not typically need to be overrriden. The easiest way to configure the string representation of a `PyObject` is to override the standard Java `toString` method.

### safeRepr

    public java.lang.String safeRepr()
                              throws PyIgnoreMethodTag

    `PyIgnoreMethodTag`

### __str__

    public PyString __str__()

  Equivalent to the standard Python __str__ method. This method should not typically need to be overridden. The easiest way to configure the string representation of a `PyObject` is to override the standard Java `toString` method.

### __hash__

    public final PyInteger __hash__()

  Equivalent to the standard Python __hash__ method. This method can not be overridden. Instead, you should override the standard Java `hashCode` method to return an appropriate hash code for the `PyObject`.

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object ob_other)

  Should almost never be overridden. If overridden, it is the subclasses responsibility to ensure that `a.equals(b) == true` iff `cmp(a,b) == 0`

  Overrides:
    `equals` in class `java.lang.Object`

### __nonzero__

    public boolean __nonzero__()

  Equivalent to the standard Python __nonzero__ method. Returns whether of not a given `PyObject` is considered true.

### __tojava__

    public java.lang.Object __tojava__(java.lang.Class c)

  Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object `Py.NoConversion` if this `PyObject` can not be converted to the desired Java class.

  Parameters:
    `c` - the Class to convert this `PyObject` to.

### __call__

    public PyObject __call__(PyObject[] args,
                             java.lang.String[] keywords)

  The basic method to override when implementing a callable object. The first len(args)-len(keywords) members of args[] are plain arguments. The last len(keywords) arguments are the values of the keyword arguments.

  Parameters:
    `args` - all arguments to the function (including keyword arguments).
    `keywords` - the keywords used for all keyword arguments.

### __call__

    public PyObject __call__(PyObject arg1,
                             PyObject[] args,
                             java.lang.String[] keywords)

  A variant of the __call__ method with one extra initial argument. This variant is used to allow method invocations to be performed efficiently. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `arg1` - the first argument to the function.
    `args` - the last arguments to the function (including keyword arguments).
    `keywords` - the keywords used for all keyword arguments.

### __call__

    public PyObject __call__(PyObject[] args)

  A variant of the __call__ method when no keywords are passed. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `args` - all arguments to the function.

### __call__

    public PyObject __call__()

  A variant of the __call__ method with no arguments. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

### __call__

    public PyObject __call__(PyObject arg0)

  A variant of the __call__ method with one argument. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `arg0` - the single argument to the function.

### __call__

    public PyObject __call__(PyObject arg0,
                             PyObject arg1)

  A variant of the __call__ method with two arguments. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `arg0` - the first argument to the function.
    `arg1` - the second argument to the function.

### __call__

    public PyObject __call__(PyObject arg0,
                             PyObject arg1,
                             PyObject arg2)

  A variant of the __call__ method with three arguments. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `arg0` - the first argument to the function.
    `arg1` - the second argument to the function.
    `arg2` - the third argument to the function.

### __call__

    public PyObject __call__(PyObject arg0,
                             PyObject arg1,
                             PyObject arg2,
                             PyObject arg3)

  A variant of the __call__ method with four arguments. The default behavior is to invoke `__call__(args, keywords)` with the appropriate arguments. The only reason to override this function would be for improved performance.

  Parameters:
    `arg0` - the first argument to the function.
    `arg1` - the second argument to the function.
    `arg2` - the third argument to the function.
    `arg3` - the fourth argument to the function.

### _callextra

    public PyObject _callextra(PyObject[] args,
                               java.lang.String[] keywords,
                               PyObject starargs,
                               PyObject kwargs)

  Deprecated.

### isCallable

    public boolean isCallable()

### isMappingType

    public boolean isMappingType()

### isNumberType

    public boolean isNumberType()

### isSequenceType

    public boolean isSequenceType()

### __len__

    public int __len__()

  Equivalent to the standard Python __len__ method. Part of the mapping discipline.

  Returns:
    the length of the object

### __finditem__

    public PyObject __finditem__(PyObject key)

  Very similar to the standard Python __getitem__ method. Instead of throwing a KeyError if the item isn't found, this just returns null. Classes that wish to implement __getitem__ should override this method instead (with the appropriate semantics.

  Parameters:
    `key` - the key to lookup in this container
  Returns:
    the value corresponding to key or null if key is not found

### __finditem__

    public PyObject __finditem__(int key)

  A variant of the __finditem__ method which accepts a primitive `int` as the key. By default, this method will call `__finditem__(PyObject key)` with the appropriate args. The only reason to override this method is for performance.

  Parameters:
    `key` - the key to lookup in this sequence.
  Returns:
    the value corresponding to key or null if key is not found.
  See Also:
    `__finditem__(PyObject)`

### __finditem__

    public PyObject __finditem__(java.lang.String key)

  A variant of the __finditem__ method which accepts a Java `String` as the key. By default, this method will call `__finditem__(PyObject key)` with the appropriate args. The only reason to override this method is for performance. Warning: key must be an interned string!!!!!!!!

  Parameters:
    `key` - the key to lookup in this sequence - must be an interned string .
  Returns:
    the value corresponding to key or null if key is not found.
  See Also:
    `__finditem__(PyObject)`

### __getitem__

    public PyObject __getitem__(int key)

  Equivalent to the standard Python __getitem__ method. This variant takes a primitive `int` as the key. This method should not be overridden. Override the `__finditem__` method instead.

  Parameters:
    `key` - the key to lookup in this container.
  Returns:
    the value corresponding to that key.
  Throws:
    `PyKeyError` - if the key is not found.
  See Also:
    `__finditem__(int)`

### __getitem__

    public PyObject __getitem__(PyObject key)

  Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the `__finditem__` method instead.

  Parameters:
    `key` - the key to lookup in this container.
  Returns:
    the value corresponding to that key.
  Throws:
    `PyKeyError` - if the key is not found.
  See Also:
    `__finditem__(PyObject)`

### __setitem__

    public void __setitem__(PyObject key,
                            PyObject value)

  Equivalent to the standard Python __setitem__ method.

  Parameters:
    `key` - the key whose value will be set
    `value` - the value to set this key to

### __setitem__

    public void __setitem__(java.lang.String key,
                            PyObject value)

  A variant of the __setitem__ method which accepts a String as the key. This String must be interned. By default, this will call `__setitem__(PyObject key, PyObject value)` with the appropriate args. The only reason to override this method is for performance.

  Parameters:
    `key` - the key whose value will be set - must be an interned string .
    `value` - the value to set this key to
  See Also:
    `__setitem__(PyObject, PyObject)`

### __setitem__

    public void __setitem__(int key,
                            PyObject value)

  A variant of the __setitem__ method which accepts a primitive `int` as the key. By default, this will call `__setitem__(PyObject key, PyObject value)` with the appropriate args. The only reason to override this method is for performance.

  Parameters:
    `key` - the key whose value will be set
    `value` - the value to set this key to
  See Also:
    `__setitem__(PyObject, PyObject)`

### __delitem__

    public void __delitem__(PyObject key)

  Equivalent to the standard Python __delitem__ method.

  Parameters:
    `key` - the key to be removed from the container
  Throws:
    `PyKeyError` - if the key is not found in the container

### __delitem__

    public void __delitem__(java.lang.String key)

  A variant of the __delitem__ method which accepts a String as the key. This String must be interned. By default, this will call `__delitem__(PyObject key)` with the appropriate args. The only reason to override this method is for performance.

  Parameters:
    `key` - the key who will be removed - must be an interned string .
  Throws:
    `PyKeyError` - if the key is not found in the container
  See Also:
    `__delitem__(PyObject)`

### __getslice__

    public PyObject __getslice__(PyObject s_start,
                                 PyObject s_stop,
                                 PyObject s_step)

### __setslice__

    public void __setslice__(PyObject s_start,
                             PyObject s_stop,
                             PyObject s_step,
                             PyObject value)

### __delslice__

    public void __delslice__(PyObject s_start,
                             PyObject s_stop,
                             PyObject s_step)

### __getslice__

    public PyObject __getslice__(PyObject start,
                                 PyObject stop)

### __setslice__

    public void __setslice__(PyObject start,
                             PyObject stop,
                             PyObject value)

### __delslice__

    public void __delslice__(PyObject start,
                             PyObject stop)

### __findattr__

    public PyObject __findattr__(PyString name)

  Very similar to the standard Python __getattr__ method. Instead of throwing a AttributeError if the item isn't found, this just returns null. Classes that wish to implement __getattr__ should override this method instead (with the appropriate semantics.

  Parameters:
    `name` - the name to lookup in this namespace
  Returns:
    the value corresponding to name or null if name is not found

### __findattr__

    public PyObject __findattr__(java.lang.String name)

  A variant of the __findattr__ method which accepts a Java `String` as the name. By default, this method will call `__findattr__(PyString name)` with the appropriate args. The only reason to override this method is for performance. Warning: name must be an interned string!!!!!!!!

  Parameters:
    `name` - the name to lookup in this namespace must be an interned string .
  Returns:
    the value corresponding to name or null if name is not found
  See Also:
    `__findattr__(PyString)`

### __getattr__

    public final PyObject __getattr__(PyString name)

  Equivalent to the standard Python __getattr__ method. This method can not be overridden. Override the `__findattr__` method instead.

  Parameters:
    `name` - the name to lookup in this namespace
  Returns:
    the value corresponding to name
  Throws:
    `PyAttributeError` - if the name is not found.
  See Also:
    `__findattr__(PyString)`

### __getattr__

    public final PyObject __getattr__(java.lang.String name)

  A variant of the __getattr__ method which accepts a Java `String` as the name. This method can not be overridden. Override the `__findattr__` method instead. Warning: name must be an interned string!!!!!!!!

  Parameters:
    `name` - the name to lookup in this namespace must be an interned string .
  Returns:
    the value corresponding to name
  Throws:
    `PyAttributeError` - if the name is not found.
  See Also:
    `__findattr__(java.lang.String)`

### __setattr__

    public final void __setattr__(PyString name,
                                  PyObject value)

  Equivalent to the standard Python __setattr__ method. This method can not be overridden.

  Parameters:
    `name` - the name to lookup in this namespace
  Returns:
    the value corresponding to name
  Throws:
    `PyAttributeError` - if the name is not found.
  See Also:
    `__setattr__(java.lang.String, PyObject)`

### __setattr__

    public void __setattr__(java.lang.String name,
                            PyObject value)

  A variant of the __setattr__ method which accepts a String as the key. This String must be interned.

  Parameters:
    `name` - the name whose value will be set - must be an interned string .
    `value` - the value to set this name to
  See Also:
    `__setattr__(PyString, PyObject)`

### __delattr__

    public final void __delattr__(PyString name)

  Equivalent to the standard Python __delattr__ method. This method can not be overridden.

  Parameters:
    `name` - the name to which will be removed
  Throws:
    `PyAttributeError` - if the name doesn't exist
  See Also:
    `__delattr__(java.lang.String)`

### __delattr__

    public void __delattr__(java.lang.String name)

  A variant of the __delattr__ method which accepts a String as the key. This String must be interned. By default, this will call `__delattr__(PyString name)` with the appropriate args. The only reason to override this method is for performance.

  Parameters:
    `name` - the name which will be removed - must be an interned string .
  Throws:
    `PyAttributeError` - if the name doesn't exist
  See Also:
    `__delattr__(PyString)`

### __dir__

    public PyObject __dir__()

  Equivalent to the standard Python __dir__ method.

  Returns:
    a list of names defined by this object.

### _doget

    public PyObject _doget(PyObject container)

### _doget

    public PyObject _doget(PyObject container,
                           PyObject wherefound)

### _doset

    public boolean _doset(PyObject container,
                          PyObject value)

### _dodel

    public boolean _dodel(PyObject container)

### __coerce_ex__

    public java.lang.Object __coerce_ex__(PyObject o)

  Implements numeric coercion

  Parameters:
    `o` - the other object involved in the coercion
  Returns:
    null if no coercion is possible; a single PyObject to use to replace o if this is unchanged; or a PyObject[2] consisting of replacements for this and o.

### __coerce__

    public final PyObject __coerce__(PyObject pyo)

  Equivalent to the standard Python __coerce__ method. This method can not be overridden. To implement __coerce__ functionality, override __coerce_ex__ instead.

  Parameters:
    `pyo` - the other object involved in the coercion.
  Returns:
    a tuple of this object and pyo coerced to the same type or Py.None if no coercion is possible.
  See Also:
    `__coerce_ex__(org.python.core.PyObject)`

### __cmp__

    public int __cmp__(PyObject other)

  Equivalent to the standard Python __cmp__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    -1 if this < 0; 0 if this == o; +1 if this > o; -2 if no comparison is implemented

### __eq__

    public PyObject __eq__(PyObject other)

  Equivalent to the standard Python __eq__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### __ne__

    public PyObject __ne__(PyObject other)

  Equivalent to the standard Python __ne__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### __le__

    public PyObject __le__(PyObject other)

  Equivalent to the standard Python __le__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### __lt__

    public PyObject __lt__(PyObject other)

  Equivalent to the standard Python __lt__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### __ge__

    public PyObject __ge__(PyObject other)

  Equivalent to the standard Python __ge__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### __gt__

    public PyObject __gt__(PyObject other)

  Equivalent to the standard Python __gt__ method.

  Parameters:
    `other` - the object to compare this with.
  Returns:
    the result of the comparison.

### _cmp

    public final int _cmp(PyObject o)

  Implements cmp(this, other)

  Returns:
    -1 if this < 0; 0 if this == o; +1 if this > o

### _eq

    public final PyObject _eq(PyObject o)

  Implements the Python expression `this == other`.

  Returns:
    the result of the comparison

### _ne

    public final PyObject _ne(PyObject o)

  Implements the Python expression `this != other`.

  Returns:
    the result of the comparison

### _le

    public final PyObject _le(PyObject o)

  Implements the Python expression `this <= other`.

  Returns:
    the result of the comparison

### _lt

    public final PyObject _lt(PyObject o)

  Implements the Python expression `this < other`.

  Returns:
    the result of the comparison

### _ge

    public final PyObject _ge(PyObject o)

  Implements the Python expression `this >= other`.

  Returns:
    the result of the comparison

### _gt

    public final PyObject _gt(PyObject o)

  Implements the Python expression `this > other`.

  Returns:
    the result of the comparison

### _is

    public PyObject _is(PyObject o)

  Implements `is` operator.

  Returns:
    the result of the comparison

### _isnot

    public PyObject _isnot(PyObject o)

  Implements `is not` operator.

  Returns:
    the result of the comparison

### _in

    public final PyObject _in(PyObject o)

  Implements `in` operator.

  Returns:
    the result of the search.

### _notin

    public final PyObject _notin(PyObject o)

  Implements `not in` operator.

  Returns:
    the result of the search.

### __contains__

    public boolean __contains__(PyObject o)

  Equivalent to the standard Python __contains__ method.

  Parameters:
    `o` - the element to search for in this container.
  Returns:
    the result of the search.

### __not__

    public PyObject __not__()

  Implements boolean not

  Returns:
    not this.

### __hex__

    public PyString __hex__()

  Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.

  Returns:
    a string representing this object as a hexadecimal number.

### __oct__

    public PyString __oct__()

  Equivalent to the standard Python __oct__ method. Should only be overridden by numeric objects that can be reasonably represented as an octal string.

  Returns:
    a string representing this object as an octal number.

### __int__

    public PyInteger __int__()

  Equivalent to the standard Python __int__ method. Should only be overridden by numeric objects that can be reasonably coerced into an integer.

  Returns:
    an integer corresponding to the value of this object.

### __long__

    public PyLong __long__()

  Equivalent to the standard Python __long__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python long.

  Returns:
    a PyLong corresponding to the value of this object.

### __float__

    public PyFloat __float__()

  Equivalent to the standard Python __float__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python float.

  Returns:
    a float corresponding to the value of this object.

### __complex__

    public PyComplex __complex__()

  Equivalent to the standard Python __complex__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python complex number.

  Returns:
    a complex number corresponding to the value of this object.

### __pos__

    public PyObject __pos__()

  Equivalent to the standard Python __pos__ method.

  Returns:
    +this.

### __neg__

    public PyObject __neg__()

  Equivalent to the standard Python __neg__ method.

  Returns:
    -this.

### __abs__

    public PyObject __abs__()

  Equivalent to the standard Python __abs__ method.

  Returns:
    abs(this).

### __invert__

    public PyObject __invert__()

  Equivalent to the standard Python __invert__ method.

  Returns:
    ~this.

### __pow__

    public PyObject __pow__(PyObject o2,
                            PyObject o3)

  Implements the three argument power function.

  Parameters:
    `o2` - the power to raise this number to.
    `o3` - the modulus to perform this operation in or null if no modulo is to be used
  Returns:
    this object raised to the given power in the given modulus

### __add__

    public PyObject __add__(PyObject other)

  Equivalent to the standard Python __add__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the add, or null if this operation is not defined

### __radd__

    public PyObject __radd__(PyObject other)

  Equivalent to the standard Python __radd__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the add, or null if this operation is not defined.

### __iadd__

    public PyObject __iadd__(PyObject other)

  Equivalent to the standard Python __iadd__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the add, or null if this operation is not defined

### _add

    public final PyObject _add(PyObject o2)

  Implements the Python expression `this + other`

  Returns:
    the result of the add.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __sub__

    public PyObject __sub__(PyObject other)

  Equivalent to the standard Python __sub__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the sub, or null if this operation is not defined

### __rsub__

    public PyObject __rsub__(PyObject other)

  Equivalent to the standard Python __rsub__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the sub, or null if this operation is not defined.

### __isub__

    public PyObject __isub__(PyObject other)

  Equivalent to the standard Python __isub__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the sub, or null if this operation is not defined

### _sub

    public final PyObject _sub(PyObject o2)

  Implements the Python expression `this - other`

  Returns:
    the result of the sub.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __mul__

    public PyObject __mul__(PyObject other)

  Equivalent to the standard Python __mul__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the mul, or null if this operation is not defined

### __rmul__

    public PyObject __rmul__(PyObject other)

  Equivalent to the standard Python __rmul__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the mul, or null if this operation is not defined.

### __imul__

    public PyObject __imul__(PyObject other)

  Equivalent to the standard Python __imul__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the mul, or null if this operation is not defined

### _mul

    public final PyObject _mul(PyObject o2)

  Implements the Python expression `this * other`

  Returns:
    the result of the mul.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __div__

    public PyObject __div__(PyObject other)

  Equivalent to the standard Python __div__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the div, or null if this operation is not defined

### __rdiv__

    public PyObject __rdiv__(PyObject other)

  Equivalent to the standard Python __rdiv__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the div, or null if this operation is not defined.

### __idiv__

    public PyObject __idiv__(PyObject other)

  Equivalent to the standard Python __idiv__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the div, or null if this operation is not defined

### _div

    public final PyObject _div(PyObject o2)

  Implements the Python expression `this / other`

  Returns:
    the result of the div.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __mod__

    public PyObject __mod__(PyObject other)

  Equivalent to the standard Python __mod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the mod, or null if this operation is not defined

### __rmod__

    public PyObject __rmod__(PyObject other)

  Equivalent to the standard Python __rmod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the mod, or null if this operation is not defined.

### __imod__

    public PyObject __imod__(PyObject other)

  Equivalent to the standard Python __imod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the mod, or null if this operation is not defined

### _mod

    public final PyObject _mod(PyObject o2)

  Implements the Python expression `this % other`

  Returns:
    the result of the mod.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __divmod__

    public PyObject __divmod__(PyObject other)

  Equivalent to the standard Python __divmod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the divmod, or null if this operation is not defined

### __rdivmod__

    public PyObject __rdivmod__(PyObject other)

  Equivalent to the standard Python __rdivmod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the divmod, or null if this operation is not defined.

### __idivmod__

    public PyObject __idivmod__(PyObject other)

  Equivalent to the standard Python __idivmod__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the divmod, or null if this operation is not defined

### _divmod

    public final PyObject _divmod(PyObject o2)

  Implements the Python expression `this divmod other`

  Returns:
    the result of the divmod.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __pow__

    public PyObject __pow__(PyObject other)

  Equivalent to the standard Python __pow__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the pow, or null if this operation is not defined

### __rpow__

    public PyObject __rpow__(PyObject other)

  Equivalent to the standard Python __rpow__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the pow, or null if this operation is not defined.

### __ipow__

    public PyObject __ipow__(PyObject other)

  Equivalent to the standard Python __ipow__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the pow, or null if this operation is not defined

### _pow

    public final PyObject _pow(PyObject o2)

  Implements the Python expression `this ** other`

  Returns:
    the result of the pow.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __lshift__

    public PyObject __lshift__(PyObject other)

  Equivalent to the standard Python __lshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the lshift, or null if this operation is not defined

### __rlshift__

    public PyObject __rlshift__(PyObject other)

  Equivalent to the standard Python __rlshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the lshift, or null if this operation is not defined.

### __ilshift__

    public PyObject __ilshift__(PyObject other)

  Equivalent to the standard Python __ilshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the lshift, or null if this operation is not defined

### _lshift

    public final PyObject _lshift(PyObject o2)

  Implements the Python expression `this << other`

  Returns:
    the result of the lshift.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __rshift__

    public PyObject __rshift__(PyObject other)

  Equivalent to the standard Python __rshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the rshift, or null if this operation is not defined

### __rrshift__

    public PyObject __rrshift__(PyObject other)

  Equivalent to the standard Python __rrshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the rshift, or null if this operation is not defined.

### __irshift__

    public PyObject __irshift__(PyObject other)

  Equivalent to the standard Python __irshift__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the rshift, or null if this operation is not defined

### _rshift

    public final PyObject _rshift(PyObject o2)

  Implements the Python expression `this >> other`

  Returns:
    the result of the rshift.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __and__

    public PyObject __and__(PyObject other)

  Equivalent to the standard Python __and__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the and, or null if this operation is not defined

### __rand__

    public PyObject __rand__(PyObject other)

  Equivalent to the standard Python __rand__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the and, or null if this operation is not defined.

### __iand__

    public PyObject __iand__(PyObject other)

  Equivalent to the standard Python __iand__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the and, or null if this operation is not defined

### _and

    public final PyObject _and(PyObject o2)

  Implements the Python expression `this & other`

  Returns:
    the result of the and.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __or__

    public PyObject __or__(PyObject other)

  Equivalent to the standard Python __or__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the or, or null if this operation is not defined

### __ror__

    public PyObject __ror__(PyObject other)

  Equivalent to the standard Python __ror__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the or, or null if this operation is not defined.

### __ior__

    public PyObject __ior__(PyObject other)

  Equivalent to the standard Python __ior__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the or, or null if this operation is not defined

### _or

    public final PyObject _or(PyObject o2)

  Implements the Python expression `this | other`

  Returns:
    the result of the or.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### __xor__

    public PyObject __xor__(PyObject other)

  Equivalent to the standard Python __xor__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the xor, or null if this operation is not defined

### __rxor__

    public PyObject __rxor__(PyObject other)

  Equivalent to the standard Python __rxor__ method

  Parameters:
    `other` - the object to perform this binary operation with (the left-hand operand).
  Returns:
    the result of the xor, or null if this operation is not defined.

### __ixor__

    public PyObject __ixor__(PyObject other)

  Equivalent to the standard Python __ixor__ method

  Parameters:
    `other` - the object to perform this binary operation with (the right-hand operand).
  Returns:
    the result of the xor, or null if this operation is not defined

### _xor

    public final PyObject _xor(PyObject o2)

  Implements the Python expression `this ^ other`

  Returns:
    the result of the xor.
  Throws:
    `PyTypeError` - if this operation can't be performed with these operands.

### _jcallexc

    public PyObject _jcallexc(java.lang.Object[] args)
                       throws java.lang.Throwable

  A convenience function for PyProxy's.

  Parameters:
    `args` - call arguments.
  Throws:
    `java.lang.Throwable`

### _jthrow

    public void _jthrow(java.lang.Throwable t)

### _jcall

    public PyObject _jcall(java.lang.Object[] args)

### invoke

    public PyObject invoke(java.lang.String name,
                           PyObject[] args,
                           java.lang.String[] keywords)

  Shortcut for calling a method on a PyObject from Java. This form is equivalent to o.__getattr__(name).__call__(args, keywords)

  Parameters:
    `name` - the name of the method to call. This must be an interned string!
    `args` - an array of the arguments to the call.
    `keywords` - the keywords to use in the call.
  Returns:
    the result of calling the method name with args and keywords.

### invoke

    public PyObject invoke(java.lang.String name,
                           PyObject[] args)

### invoke

    public PyObject invoke(java.lang.String name)

  Shortcut for calling a method on a PyObject with no args.

  Parameters:
    `name` - the name of the method to call. This must be an interned string!
  Returns:
    the result of calling the method name with no args

### invoke

    public PyObject invoke(java.lang.String name,
                           PyObject arg1)

  Shortcut for calling a method on a PyObject with one arg.

  Parameters:
    `name` - the name of the method to call. This must be an interned string!
    `arg1` - the one argument of the method.
  Returns:
    the result of calling the method name with arg1

### invoke

    public PyObject invoke(java.lang.String name,
                           PyObject arg1,
                           PyObject arg2)

  Shortcut for calling a method on a PyObject with two args.

  Parameters:
    `name` - the name of the method to call. This must be an interned string!
    `arg1` - the first argument of the method.
    `arg2` - the second argument of the method.
  Returns:
    the result of calling the method name with arg1 and arg2

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Jython homepage