PyInstance (Jython API documentation)
Date: 2024-08-18

org.python.core

## Class PyInstance

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.core.PyInstance

- All Implemented Interfaces:
    java.io.Serializable, FinalizablePyObject, Traverseproc

      public class PyInstance
      extends PyObject
      implements FinalizablePyObject, Traverseproc

  An instance of a classic Python class.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.python.core.PyObject

      `PyObject.ConversionException`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `PyObject` | `__dict__` The namespace of this instance.
    `PyClass` | `instclass`
    `static PyType` | `TYPE`

    - ### Fields inherited from class org.python.core.PyObject

      `gcMonitorGlobal`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PyInstance()`
    `PyInstance(PyClass iclass)`
    `PyInstance(PyClass iclass, PyObject dict)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PyObject` | `__abs__()` Equivalent to the standard Python __abs__ method.
    `PyObject` | `__add__(PyObject o)` Equivalent to the standard Python __add__ method.
    `PyObject` | `__and__(PyObject o)` Equivalent to the standard Python __and__ method
    `PyObject` | `__call__(PyObject[] args, java.lang.String[] keywords)` The basic method to override when implementing a callable object.
    `int` | `__cmp__(PyObject other)` Equivalent to the standard Python __cmp__ 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` | `__del__()`
    `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` | `__delslice__(PyObject start, PyObject stop, PyObject step)`
    `PyObject` | `__div__(PyObject o)` Equivalent to the standard Python __div__ method
    `PyObject` | `__divmod__(PyObject o)` Equivalent to the standard Python __divmod__ method
    `PyObject` | `__eq__(PyObject o)` Equivalent to the standard Python __eq__ method.
    `PyObject` | `__findattr_ex__(java.lang.String name)` Attribute lookup hook.
    `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.
    `PyFloat` | `__float__()` Equivalent to the standard Python __float__ method.
    `PyObject` | `__floordiv__(PyObject o)` Equivalent to the standard Python __floordiv__ method
    `PyObject` | `__format__(PyObject formatSpec)`
    `PyObject` | `__ge__(PyObject o)` Equivalent to the standard Python __ge__ method.
    `PyObject` | `__getitem__(PyObject key)` Equivalent to the standard Python __getitem__ method.
    `PyObject` | `__getslice__(PyObject start, PyObject stop, PyObject step)`
    `PyObject` | `__gt__(PyObject o)` Equivalent to the standard Python __gt__ 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 o)` Equivalent to the standard Python __iadd__ method.
    `PyObject` | `__iand__(PyObject o)` Equivalent to the standard Python __iand__ method
    `PyObject` | `__idiv__(PyObject o)` Equivalent to the standard Python __idiv__ method
    `PyObject` | `__ifloordiv__(PyObject o)` Equivalent to the standard Python __ifloordiv__ method
    `PyObject` | `__ilshift__(PyObject o)` Equivalent to the standard Python __ilshift__ method
    `PyObject` | `__imod__(PyObject o)` Equivalent to the standard Python __imod__ method
    `PyObject` | `__imul__(PyObject o)` Equivalent to the standard Python __imul__ method.
    `PyObject` | `__index__()` Equivalent to the standard Python __index__ method.
    `void` | `__init__(PyObject[] args, java.lang.String[] keywords)`
    `PyObject` | `__int__()` Equivalent to the standard Python __int__ method.
    `PyObject` | `__invert__()` Equivalent to the standard Python __invert__ method.
    `PyObject` | `__ior__(PyObject o)` Equivalent to the standard Python __ior__ method
    `PyObject` | `__ipow__(PyObject o)` Equivalent to the standard Python __ipow__ method
    `PyObject` | `__irshift__(PyObject o)` Equivalent to the standard Python __irshift__ method
    `PyObject` | `__isub__(PyObject o)` Equivalent to the standard Python __isub__ method
    `PyObject` | `__iter__()` Return an iterator that is used to iterate the element of this sequence.
    `PyObject` | `__iternext__()` Return the next element of the sequence that this is an iterator for.
    `PyObject` | `__itruediv__(PyObject o)` Equivalent to the standard Python __itruediv__ method
    `PyObject` | `__ixor__(PyObject o)` Equivalent to the standard Python __ixor__ method
    `PyObject` | `__le__(PyObject o)` Equivalent to the standard Python __le__ method.
    `int` | `__len__()` Equivalent to the standard Python __len__ method.
    `PyObject` | `__long__()` Equivalent to the standard Python __long__ method.
    `PyObject` | `__lshift__(PyObject o)` Equivalent to the standard Python __lshift__ method
    `PyObject` | `__lt__(PyObject o)` Equivalent to the standard Python __lt__ method.
    `PyObject` | `__mod__(PyObject o)` Equivalent to the standard Python __mod__ method
    `PyObject` | `__mul__(PyObject o)` Equivalent to the standard Python __mul__ method.
    `PyObject` | `__ne__(PyObject o)` 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.
    `PyString` | `__oct__()` Equivalent to the standard Python __oct__ method.
    `PyObject` | `__or__(PyObject o)` Equivalent to the standard Python __or__ method
    `PyObject` | `__pos__()` Equivalent to the standard Python __pos__ method.
    `PyObject` | `__pow__(PyObject o)` Equivalent to the standard Python __pow__ method
    `PyObject` | `__radd__(PyObject o)` Equivalent to the standard Python __radd__ method.
    `PyObject` | `__rand__(PyObject o)` Equivalent to the standard Python __rand__ method
    `PyObject` | `__rdiv__(PyObject o)` Equivalent to the standard Python __rdiv__ method
    `PyObject` | `__rdivmod__(PyObject o)` Equivalent to the standard Python __rdivmod__ method
    `PyString` | `__repr__()` Equivalent to the standard Python `__repr__` method.
    `PyObject` | `__rfloordiv__(PyObject o)` Equivalent to the standard Python __rfloordiv__ method
    `PyObject` | `__rlshift__(PyObject o)` Equivalent to the standard Python __rlshift__ method
    `PyObject` | `__rmod__(PyObject o)` Equivalent to the standard Python __rmod__ method
    `PyObject` | `__rmul__(PyObject o)` Equivalent to the standard Python __rmul__ method.
    `PyObject` | `__ror__(PyObject o)` Equivalent to the standard Python __ror__ method
    `PyObject` | `__rpow__(PyObject o)` Equivalent to the standard Python __rpow__ method
    `PyObject` | `__rrshift__(PyObject o)` Equivalent to the standard Python __rrshift__ method
    `PyObject` | `__rshift__(PyObject o)` Equivalent to the standard Python __rshift__ method
    `PyObject` | `__rsub__(PyObject o)` Equivalent to the standard Python __rsub__ method
    `PyObject` | `__rtruediv__(PyObject o)` Equivalent to the standard Python __rtruediv__ method
    `PyObject` | `__rxor__(PyObject o)` Equivalent to the standard Python __rxor__ method
    `void` | `__setattr__(java.lang.String name, PyObject value)` A variant of the __setattr__ method which accepts a String as the key.
    `void` | `__setitem__(PyObject key, PyObject value)` Equivalent to the standard Python __setitem__ method.
    `void` | `__setslice__(PyObject start, PyObject stop, PyObject step, PyObject value)`
    `PyString` | `__str__()` Equivalent to the standard Python __str__ method.
    `PyObject` | `__sub__(PyObject o)` Equivalent to the standard Python __sub__ method
    `java.lang.Object` | `__tojava__(java.lang.Class c)` Equivalent to the Jython __tojava__ method.
    `PyObject` | `__truediv__(PyObject o)` Equivalent to the standard Python __truediv__ method
    `PyUnicode` | `__unicode__()`
    `PyObject` | `__xor__(PyObject o)` Equivalent to the standard Python __xor__ method
    `static void` | `ensureFinalizer(PyObject[] args, java.lang.String[] kws)`
    `PyClass` | `fastGetClass()`
    `int` | `hashCode()`
    `PyObject` | `instance___abs__()` Implements the __abs__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___add__(PyObject o)` Implements the __add__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___and__(PyObject o)` Implements the __and__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___div__(PyObject o)` Implements the __div__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___divmod__(PyObject o)` Implements the __divmod__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___floordiv__(PyObject o)` Implements the __floordiv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___iadd__(PyObject o)` Implements the __iadd__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___iand__(PyObject o)` Implements the __iand__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___idiv__(PyObject o)` Implements the __idiv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ifloordiv__(PyObject o)` Implements the __ifloordiv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ilshift__(PyObject o)` Implements the __ilshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___imod__(PyObject o)` Implements the __imod__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___imul__(PyObject o)` Implements the __imul__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___invert__()` Implements the __invert__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ior__(PyObject o)` Implements the __ior__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ipow__(PyObject o)` Implements the __ipow__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___irshift__(PyObject o)` Implements the __irshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___isub__(PyObject o)` Implements the __isub__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___itruediv__(PyObject o)` Implements the __itruediv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ixor__(PyObject o)` Implements the __ixor__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___lshift__(PyObject o)` Implements the __lshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___mod__(PyObject o)` Implements the __mod__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___mul__(PyObject o)` Implements the __mul__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___neg__()` Implements the __neg__ method by looking it up in the instance's dictionary and calling it if it is found.
    `static PyObject` | `instance___new__(PyNewWrapper new_, boolean init, PyType subtype, PyObject[] args, java.lang.String[] keywords)`
    `PyObject` | `instance___or__(PyObject o)` Implements the __or__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___pos__()` Implements the __pos__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___pow__(PyObject o)` Implements the __pow__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___radd__(PyObject o)` Implements the __radd__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rand__(PyObject o)` Implements the __rand__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rdiv__(PyObject o)` Implements the __rdiv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rdivmod__(PyObject o)` Implements the __rdivmod__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rfloordiv__(PyObject o)` Implements the __rfloordiv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rlshift__(PyObject o)` Implements the __rlshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rmod__(PyObject o)` Implements the __rmod__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rmul__(PyObject o)` Implements the __rmul__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___ror__(PyObject o)` Implements the __ror__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rpow__(PyObject o)` Implements the __rpow__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rrshift__(PyObject o)` Implements the __rrshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rshift__(PyObject o)` Implements the __rshift__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rsub__(PyObject o)` Implements the __rsub__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rtruediv__(PyObject o)` Implements the __rtruediv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___rxor__(PyObject o)` Implements the __rxor__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___sub__(PyObject o)` Implements the __sub__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___truediv__(PyObject o)` Implements the __truediv__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `instance___xor__(PyObject o)` Implements the __xor__ method by looking it up in the instance's dictionary and calling it if it is found.
    `PyObject` | `invoke_ex(java.lang.String name)`
    `PyObject` | `invoke_ex(java.lang.String name, PyObject arg1)`
    `PyObject` | `invoke_ex(java.lang.String name, PyObject[] args, java.lang.String[] keywords)`
    `PyObject` | `invoke_ex(java.lang.String name, PyObject arg1, PyObject arg2)`
    `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 arg1, PyObject arg2)` Shortcut for calling a method on a PyObject with two args.
    `boolean` | `isCallable()`
    `boolean` | `isIndex()` Determine if this object can act as an index (implements __index__).
    `boolean` | `isMappingType()`
    `boolean` | `isNumberType()`
    `boolean` | `isSequenceType()`
    `void` | `noAttributeError(java.lang.String name)`
    `boolean` | `refersDirectlyTo(PyObject ob)` Optional operation.
    `java.lang.String` | `toString()`
    `int` | `traverse(Visitproc visit, java.lang.Object arg)` Traverses all directly contained `PyObject`s.

    - ### Methods inherited from class org.python.core.PyObject

      `__call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __delattr__, __delete__, __delitem__, __delslice__, __dir__, __ensure_finalizer__, __findattr__, __findattr__, __finditem__, __get__, __getattr__, __getattr__, __getitem__, __getnewargs__, __getslice__, __hash__, __idivmod__, __not__, __pow__, __reduce__, __reduce_ex__, __reduce_ex__, __set__, __setattr__, __setitem__, __setitem__, __setslice__, __trunc__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, isDataDescr, isInteger, object___subclasshook__, readonlyAttributeError, setDict, setType`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TYPE

          public static final PyType TYPE

    - #### instclass

          public transient PyClass instclass

    - #### __dict__

          public PyObject __dict__

      The namespace of this instance. Contains all instance attributes.

  - ### Constructor Detail

    - #### PyInstance

          public PyInstance()

    - #### PyInstance

          public PyInstance(PyClass iclass,
                            PyObject dict)

    - #### PyInstance

          public PyInstance(PyClass iclass)

  - ### Method Detail

    - #### instance___new__

          public static PyObject instance___new__(PyNewWrapper new_,
                                                  boolean init,
                                                  PyType subtype,
                                                  PyObject[] args,
                                                  java.lang.String[] keywords)

    - #### fastGetClass

          public PyClass fastGetClass()

      Overrides:
        `fastGetClass` in class `PyObject`

    - #### __tojava__

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

      Description copied from class: `PyObject`
      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.
      Overrides:
        `__tojava__` in class `PyObject`
      Parameters:
        `c` - the Class to convert this `PyObject` to.

    - #### __init__

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

    - #### __findattr_ex__

          public PyObject __findattr_ex__(java.lang.String name)

      Description copied from class: `PyObject`
      Attribute lookup hook. If the attribute is not found, null may be returned or a Py.AttributeError can be thrown, whatever is more correct, efficient and/or convenient for the implementing class. Client code should use `PyObject.__getattr__(String)` or `PyObject.__findattr__(String)`. Both methods have a clear policy for failed lookups.
      Overrides:
        `__findattr_ex__` in class `PyObject`
      Returns:
        The looked up value. May return null if the attribute is not found

    - #### ensureFinalizer

          public static void ensureFinalizer(PyObject[] args,
                                             java.lang.String[] kws)

    - #### isCallable

          public boolean isCallable()

      Overrides:
        `isCallable` in class `PyObject`

    - #### isNumberType

          public boolean isNumberType()

      Overrides:
        `isNumberType` in class `PyObject`

    - #### isMappingType

          public boolean isMappingType()

      Overrides:
        `isMappingType` in class `PyObject`

    - #### isSequenceType

          public boolean isSequenceType()

      Overrides:
        `isSequenceType` in class `PyObject`

    - #### isIndex

          public boolean isIndex()

      Description copied from class: `PyObject`
      Determine if this object can act as an index (implements __index__).
      Overrides:
        `isIndex` in class `PyObject`
      Returns:
        true if the object can act as an index

    - #### invoke

          public PyObject invoke(java.lang.String name)

      Description copied from class: `PyObject`
      Shortcut for calling a method on a PyObject with no args.
      Overrides:
        `invoke` in class `PyObject`
      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)

      Description copied from class: `PyObject`
      Shortcut for calling a method on a PyObject with one arg.
      Overrides:
        `invoke` in class `PyObject`
      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)

      Description copied from class: `PyObject`
      Shortcut for calling a method on a PyObject with two args.
      Overrides:
        `invoke` in class `PyObject`
      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

    - #### noAttributeError

          public void noAttributeError(java.lang.String name)

      Overrides:
        `noAttributeError` in class `PyObject`

    - #### __setattr__

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

      Description copied from class: `PyObject`
      A variant of the __setattr__ method which accepts a String as the key. This String must be interned.
      Overrides:
        `__setattr__` in class `PyObject`
      Parameters:
        `name` - the name whose value will be set - must be an interned string .
        `value` - the value to set this name to
      See Also:
        `PyObject.__setattr__(PyString, PyObject)`

    - #### __delattr__

          public void __delattr__(java.lang.String name)

      Description copied from class: `PyObject`
      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.
      Overrides:
        `__delattr__` in class `PyObject`
      Parameters:
        `name` - the name which will be removed - must be an interned string .
      See Also:
        `PyObject.__delattr__(PyString)`

    - #### invoke_ex

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

    - #### invoke_ex

          public PyObject invoke_ex(java.lang.String name)

    - #### invoke_ex

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

    - #### invoke_ex

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

    - #### __call__

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

      Description copied from class: `PyObject`
      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.
      Overrides:
        `__call__` in class `PyObject`
      Parameters:
        `args` - all arguments to the function (including keyword arguments).
        `keywords` - the keywords used for all keyword arguments.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `PyObject`

    - #### __repr__

          public PyString __repr__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python `__repr__` method. Each sub-class of `PyObject` is likely to re-define this method to provide for its own reproduction.
      Overrides:
        `__repr__` in class `PyObject`

    - #### __str__

          public PyString __str__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __str__ method. The default implementation (in `PyObject`) calls `PyObject.__repr__()`, making it unnecessary to override `__str__` in sub-classes of `PyObject` where both forms are the same. A common choice is to provide the same implementation to `__str__` and `toString`, for consistency in the printed form of objects between Python and Java.
      Overrides:
        `__str__` in class `PyObject`

    - #### __unicode__

          public PyUnicode __unicode__()

      Overrides:
        `__unicode__` in class `PyObject`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `PyObject`

    - #### __cmp__

          public int __cmp__(PyObject other)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __cmp__ method.
      Overrides:
        `__cmp__` in class `PyObject`
      Parameters:
        `other` - the object to compare this with.
      Returns:
        -1 if `this<o`; 0 if `this==o`; +1 if `this>o`; -2 if no comparison is implemented

    - #### __lt__

          public PyObject __lt__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __lt__ method.
      Overrides:
        `__lt__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __le__

          public PyObject __le__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __le__ method.
      Overrides:
        `__le__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __gt__

          public PyObject __gt__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __gt__ method.
      Overrides:
        `__gt__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __ge__

          public PyObject __ge__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ge__ method.
      Overrides:
        `__ge__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __eq__

          public PyObject __eq__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __eq__ method.
      Overrides:
        `__eq__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __ne__

          public PyObject __ne__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ne__ method.
      Overrides:
        `__ne__` in class `PyObject`
      Parameters:
        `o` - the object to compare this with.
      Returns:
        the result of the comparison.

    - #### __nonzero__

          public boolean __nonzero__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __nonzero__ method. Returns whether of not a given `PyObject` is considered true.
      Overrides:
        `__nonzero__` in class `PyObject`

    - #### __len__

          public int __len__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __len__ method. Part of the mapping discipline.
      Overrides:
        `__len__` in class `PyObject`
      Returns:
        the length of the object

    - #### __finditem__

          public PyObject __finditem__(int key)

      Description copied from class: `PyObject`
      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.
      Overrides:
        `__finditem__` in class `PyObject`
      Parameters:
        `key` - the key to lookup in this sequence.
      Returns:
        the value corresponding to key or null if key is not found.
      See Also:
        `PyObject.__finditem__(PyObject)`

    - #### __finditem__

          public PyObject __finditem__(PyObject key)

      Description copied from class: `PyObject`
      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.
      Overrides:
        `__finditem__` in class `PyObject`
      Parameters:
        `key` - the key to lookup in this container
      Returns:
        the value corresponding to key or null if key is not found

    - #### __getitem__

          public PyObject __getitem__(PyObject key)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the `__finditem__` method instead.
      Overrides:
        `__getitem__` in class `PyObject`
      Parameters:
        `key` - the key to lookup in this container.
      Returns:
        the value corresponding to that key.
      See Also:
        `PyObject.__finditem__(PyObject)`

    - #### __setitem__

          public void __setitem__(PyObject key,
                                  PyObject value)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __setitem__ method.
      Overrides:
        `__setitem__` in class `PyObject`
      Parameters:
        `key` - the key whose value will be set
        `value` - the value to set this key to

    - #### __delitem__

          public void __delitem__(PyObject key)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __delitem__ method.
      Overrides:
        `__delitem__` in class `PyObject`
      Parameters:
        `key` - the key to be removed from the container

    - #### __getslice__

          public PyObject __getslice__(PyObject start,
                                       PyObject stop,
                                       PyObject step)

      Overrides:
        `__getslice__` in class `PyObject`

    - #### __setslice__

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

      Overrides:
        `__setslice__` in class `PyObject`

    - #### __delslice__

          public void __delslice__(PyObject start,
                                   PyObject stop,
                                   PyObject step)

      Overrides:
        `__delslice__` in class `PyObject`

    - #### __iter__

          public PyObject __iter__()

      Description copied from class: `PyObject`
      Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

      If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

           public PyObject __iter__() {
               return new PySequenceIter(this);
           }

      When iterating over a python sequence from java code, it should be done with code like this:

           for (PyObject item : seq.asIterable()) {
               // Do something with item
           }

      Overrides:
        `__iter__` in class `PyObject`

    - #### __iternext__

          public PyObject __iternext__()

      Description copied from class: `PyObject`
      Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.
      Overrides:
        `__iternext__` in class `PyObject`

    - #### __contains__

          public boolean __contains__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __contains__ method.
      Overrides:
        `__contains__` in class `PyObject`
      Parameters:
        `o` - the element to search for in this container.
      Returns:
        the result of the search.

    - #### __coerce_ex__

          public java.lang.Object __coerce_ex__(PyObject o)

      Description copied from class: `PyObject`
      Implements numeric coercion
      Overrides:
        `__coerce_ex__` in class `PyObject`
      Parameters:
        `o` - the other object involved in the coercion
      Returns:
        null if coercion is not implemented Py.None if coercion was not possible a single PyObject to use to replace o if this is unchanged; or a PyObject[2] consisting of replacements for this and o.

    - #### __index__

          public PyObject __index__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __index__ method.
      Overrides:
        `__index__` in class `PyObject`
      Returns:
        a PyInteger or PyLong

    - #### __format__

          public PyObject __format__(PyObject formatSpec)

      Overrides:
        `__format__` in class `PyObject`

    - #### __hex__

          public PyString __hex__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.
      Overrides:
        `__hex__` in class `PyObject`
      Returns:
        a string representing this object as a hexadecimal number.

    - #### __oct__

          public PyString __oct__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __oct__ method. Should only be overridden by numeric objects that can be reasonably represented as an octal string.
      Overrides:
        `__oct__` in class `PyObject`
      Returns:
        a string representing this object as an octal number.

    - #### __int__

          public PyObject __int__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __int__ method. Should only be overridden by numeric objects that can be reasonably coerced into an integer.
      Overrides:
        `__int__` in class `PyObject`
      Returns:
        an integer corresponding to the value of this object.

    - #### __float__

          public PyFloat __float__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __float__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python float.
      Overrides:
        `__float__` in class `PyObject`
      Returns:
        a float corresponding to the value of this object.

    - #### __long__

          public PyObject __long__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __long__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python long.
      Overrides:
        `__long__` in class `PyObject`
      Returns:
        a PyLong or PyInteger corresponding to the value of this object.

    - #### __complex__

          public PyComplex __complex__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __complex__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python complex number.
      Overrides:
        `__complex__` in class `PyObject`
      Returns:
        a complex number corresponding to the value of this object.

    - #### __pos__

          public PyObject __pos__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __pos__ method.
      Overrides:
        `__pos__` in class `PyObject`
      Returns:
        +this.

    - #### instance___pos__

          public PyObject instance___pos__()

      Implements the __pos__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __neg__

          public PyObject __neg__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __neg__ method.
      Overrides:
        `__neg__` in class `PyObject`
      Returns:
        -this.

    - #### instance___neg__

          public PyObject instance___neg__()

      Implements the __neg__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __abs__

          public PyObject __abs__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __abs__ method.
      Overrides:
        `__abs__` in class `PyObject`
      Returns:
        abs(this).

    - #### instance___abs__

          public PyObject instance___abs__()

      Implements the __abs__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __invert__

          public PyObject __invert__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __invert__ method.
      Overrides:
        `__invert__` in class `PyObject`
      Returns:
        ~this.

    - #### instance___invert__

          public PyObject instance___invert__()

      Implements the __invert__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __add__

          public PyObject __add__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __add__ method.
      Overrides:
        `__add__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___add__

          public PyObject instance___add__(PyObject o)

      Implements the __add__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __radd__

          public PyObject __radd__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __radd__ method.
      Overrides:
        `__radd__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___radd__

          public PyObject instance___radd__(PyObject o)

      Implements the __radd__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __iadd__

          public PyObject __iadd__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __iadd__ method.
      Overrides:
        `__iadd__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the iadd, or null if this operation is not defined

    - #### instance___iadd__

          public PyObject instance___iadd__(PyObject o)

      Implements the __iadd__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __sub__

          public PyObject __sub__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __sub__ method
      Overrides:
        `__sub__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___sub__

          public PyObject instance___sub__(PyObject o)

      Implements the __sub__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rsub__

          public PyObject __rsub__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rsub__ method
      Overrides:
        `__rsub__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rsub__

          public PyObject instance___rsub__(PyObject o)

      Implements the __rsub__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __isub__

          public PyObject __isub__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __isub__ method
      Overrides:
        `__isub__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the isub, or null if this operation is not defined

    - #### instance___isub__

          public PyObject instance___isub__(PyObject o)

      Implements the __isub__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __mul__

          public PyObject __mul__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __mul__ method.
      Overrides:
        `__mul__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___mul__

          public PyObject instance___mul__(PyObject o)

      Implements the __mul__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rmul__

          public PyObject __rmul__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rmul__ method.
      Overrides:
        `__rmul__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rmul__

          public PyObject instance___rmul__(PyObject o)

      Implements the __rmul__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __imul__

          public PyObject __imul__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __imul__ method.
      Overrides:
        `__imul__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the imul, or null if this operation is not defined.

    - #### instance___imul__

          public PyObject instance___imul__(PyObject o)

      Implements the __imul__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __div__

          public PyObject __div__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __div__ method
      Overrides:
        `__div__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___div__

          public PyObject instance___div__(PyObject o)

      Implements the __div__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rdiv__

          public PyObject __rdiv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rdiv__ method
      Overrides:
        `__rdiv__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rdiv__

          public PyObject instance___rdiv__(PyObject o)

      Implements the __rdiv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __idiv__

          public PyObject __idiv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __idiv__ method
      Overrides:
        `__idiv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the idiv, or null if this operation is not defined

    - #### instance___idiv__

          public PyObject instance___idiv__(PyObject o)

      Implements the __idiv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __floordiv__

          public PyObject __floordiv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __floordiv__ method
      Overrides:
        `__floordiv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the floordiv, or null if this operation is not defined

    - #### instance___floordiv__

          public PyObject instance___floordiv__(PyObject o)

      Implements the __floordiv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rfloordiv__

          public PyObject __rfloordiv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rfloordiv__ method
      Overrides:
        `__rfloordiv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the left-hand operand).
      Returns:
        the result of the floordiv, or null if this operation is not defined.

    - #### instance___rfloordiv__

          public PyObject instance___rfloordiv__(PyObject o)

      Implements the __rfloordiv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ifloordiv__

          public PyObject __ifloordiv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ifloordiv__ method
      Overrides:
        `__ifloordiv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the ifloordiv, or null if this operation is not defined

    - #### instance___ifloordiv__

          public PyObject instance___ifloordiv__(PyObject o)

      Implements the __ifloordiv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __truediv__

          public PyObject __truediv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __truediv__ method
      Overrides:
        `__truediv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the truediv, or null if this operation is not defined

    - #### instance___truediv__

          public PyObject instance___truediv__(PyObject o)

      Implements the __truediv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rtruediv__

          public PyObject __rtruediv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rtruediv__ method
      Overrides:
        `__rtruediv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the left-hand operand).
      Returns:
        the result of the truediv, or null if this operation is not defined.

    - #### instance___rtruediv__

          public PyObject instance___rtruediv__(PyObject o)

      Implements the __rtruediv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __itruediv__

          public PyObject __itruediv__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __itruediv__ method
      Overrides:
        `__itruediv__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the itruediv, or null if this operation is not defined

    - #### instance___itruediv__

          public PyObject instance___itruediv__(PyObject o)

      Implements the __itruediv__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __mod__

          public PyObject __mod__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __mod__ method
      Overrides:
        `__mod__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___mod__

          public PyObject instance___mod__(PyObject o)

      Implements the __mod__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rmod__

          public PyObject __rmod__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rmod__ method
      Overrides:
        `__rmod__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rmod__

          public PyObject instance___rmod__(PyObject o)

      Implements the __rmod__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __imod__

          public PyObject __imod__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __imod__ method
      Overrides:
        `__imod__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the imod, or null if this operation is not defined

    - #### instance___imod__

          public PyObject instance___imod__(PyObject o)

      Implements the __imod__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __divmod__

          public PyObject __divmod__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __divmod__ method
      Overrides:
        `__divmod__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___divmod__

          public PyObject instance___divmod__(PyObject o)

      Implements the __divmod__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rdivmod__

          public PyObject __rdivmod__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rdivmod__ method
      Overrides:
        `__rdivmod__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rdivmod__

          public PyObject instance___rdivmod__(PyObject o)

      Implements the __rdivmod__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __pow__

          public PyObject __pow__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __pow__ method
      Overrides:
        `__pow__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___pow__

          public PyObject instance___pow__(PyObject o)

      Implements the __pow__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rpow__

          public PyObject __rpow__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rpow__ method
      Overrides:
        `__rpow__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rpow__

          public PyObject instance___rpow__(PyObject o)

      Implements the __rpow__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ipow__

          public PyObject __ipow__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ipow__ method
      Overrides:
        `__ipow__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the ipow, or null if this operation is not defined

    - #### instance___ipow__

          public PyObject instance___ipow__(PyObject o)

      Implements the __ipow__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __lshift__

          public PyObject __lshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __lshift__ method
      Overrides:
        `__lshift__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___lshift__

          public PyObject instance___lshift__(PyObject o)

      Implements the __lshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rlshift__

          public PyObject __rlshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rlshift__ method
      Overrides:
        `__rlshift__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rlshift__

          public PyObject instance___rlshift__(PyObject o)

      Implements the __rlshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ilshift__

          public PyObject __ilshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ilshift__ method
      Overrides:
        `__ilshift__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the ilshift, or null if this operation is not defined

    - #### instance___ilshift__

          public PyObject instance___ilshift__(PyObject o)

      Implements the __ilshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rshift__

          public PyObject __rshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rshift__ method
      Overrides:
        `__rshift__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___rshift__

          public PyObject instance___rshift__(PyObject o)

      Implements the __rshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rrshift__

          public PyObject __rrshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rrshift__ method
      Overrides:
        `__rrshift__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rrshift__

          public PyObject instance___rrshift__(PyObject o)

      Implements the __rrshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __irshift__

          public PyObject __irshift__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __irshift__ method
      Overrides:
        `__irshift__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the irshift, or null if this operation is not defined

    - #### instance___irshift__

          public PyObject instance___irshift__(PyObject o)

      Implements the __irshift__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __and__

          public PyObject __and__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __and__ method
      Overrides:
        `__and__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___and__

          public PyObject instance___and__(PyObject o)

      Implements the __and__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rand__

          public PyObject __rand__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rand__ method
      Overrides:
        `__rand__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rand__

          public PyObject instance___rand__(PyObject o)

      Implements the __rand__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __iand__

          public PyObject __iand__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __iand__ method
      Overrides:
        `__iand__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the iand, or null if this operation is not defined

    - #### instance___iand__

          public PyObject instance___iand__(PyObject o)

      Implements the __iand__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __or__

          public PyObject __or__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __or__ method
      Overrides:
        `__or__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___or__

          public PyObject instance___or__(PyObject o)

      Implements the __or__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ror__

          public PyObject __ror__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ror__ method
      Overrides:
        `__ror__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___ror__

          public PyObject instance___ror__(PyObject o)

      Implements the __ror__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ior__

          public PyObject __ior__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ior__ method
      Overrides:
        `__ior__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the ior, or null if this operation is not defined

    - #### instance___ior__

          public PyObject instance___ior__(PyObject o)

      Implements the __ior__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __xor__

          public PyObject __xor__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __xor__ method
      Overrides:
        `__xor__` in class `PyObject`
      Parameters:
        `o` - 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

    - #### instance___xor__

          public PyObject instance___xor__(PyObject o)

      Implements the __xor__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __rxor__

          public PyObject __rxor__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __rxor__ method
      Overrides:
        `__rxor__` in class `PyObject`
      Parameters:
        `o` - 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.

    - #### instance___rxor__

          public PyObject instance___rxor__(PyObject o)

      Implements the __rxor__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __ixor__

          public PyObject __ixor__(PyObject o)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __ixor__ method
      Overrides:
        `__ixor__` in class `PyObject`
      Parameters:
        `o` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the ixor, or null if this operation is not defined

    - #### instance___ixor__

          public PyObject instance___ixor__(PyObject o)

      Implements the __ixor__ method by looking it up in the instance's dictionary and calling it if it is found.

    - #### __del__

          public void __del__()

      Specified by:
        `__del__` in interface `FinalizablePyObject`

    - #### traverse

          public int traverse(Visitproc visit,
                              java.lang.Object arg)

      Description copied from interface: `Traverseproc`
      Traverses all directly contained `PyObject`s. Like in CPython, `arg` must be passed unmodified to `visit` as its second parameter. If `Visitproc.visit(PyObject, Object)` returns nonzero, this return value must be returned immediately by traverse. `Visitproc.visit(PyObject, Object)` must not be called with a `null` PyObject-argument.
      Specified by:
        `traverse` in interface `Traverseproc`

    - #### refersDirectlyTo

          public boolean refersDirectlyTo(PyObject ob)

      Description copied from interface: `Traverseproc`
      Optional operation. Should only be implemented if it is more efficient than calling `Traverseproc.traverse(Visitproc, Object)` with a visitproc that just watches out for `ob`. Must return `false` if `ob` is `null`.
      Specified by:
        `refersDirectlyTo` in interface `Traverseproc`

Jython homepage