## org.python.core
Class PyFunction

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

All Implemented Interfaces:
  java.io.Serializable

public class PyFunction
extends PyObject

A python function.

See Also:
  Serialized Form

Field Summary
`PyObject` `__dict__`
`PyObject` `__doc__`
`java.lang.String` `__name__`
`PyObject` `func_closure`
`PyCode` `func_code`
`PyObject[]` `func_defaults`
`PyObject` `func_globals`

Fields inherited from class org.python.core.PyObject
`__class__`

Constructor Summary
`PyFunction(PyObject globals, PyObject[] defaults, PyCode code)`
`PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject doc)`
`PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject[] closure_cells)`
`PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject doc, PyObject[] closure_cells)`

Method Summary
`PyObject` `__call__()` A variant of the __call__ method with no arguments.
`PyObject` `__call__(PyObject arg)` A variant of the __call__ method with one argument.
`PyObject` `__call__(PyObject[] args, java.lang.String[] keywords)` The basic method to override when implementing a callable object.
`PyObject` `__call__(PyObject arg1, PyObject arg2)` 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 arg1, PyObject arg2, PyObject arg3)` A variant of the __call__ method with three arguments.
`void` `__delattr__(java.lang.String name)` A variant of the __delattr__ method which accepts a String as the key.
`PyObject` `__dir__()` Equivalent to the standard Python __dir__ method.
`PyObject` `__findattr__(java.lang.String name)` A variant of the __findattr__ method which accepts a Java `String` as the name.
`void` `__setattr__(java.lang.String name, PyObject value)` A variant of the __setattr__ method which accepts a String as the key.
`PyObject` `_doget(PyObject container)`
`PyObject` `_doget(PyObject container, PyObject wherefound)`
`boolean` `isMappingType()`
`boolean` `isNumberType()`
`boolean` `isSequenceType()`
`java.lang.String` `toString()`

Methods inherited from class org.python.core.PyObject

`__abs__, __add__, __and__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delitem__, __delitem__, __delslice__, __delslice__, __div__, __divmod__, __eq__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __ge__, __getattr__, __getattr__, __getitem__, __getitem__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ilshift__, __imod__, __imul__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __repr__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rxor__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _dodel, _doset, _eq, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _xor, equals, hashCode, invoke, invoke, invoke, invoke, invoke, isCallable, safeRepr`

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

Field Detail

### __name__

    public java.lang.String __name__

### __doc__

    public PyObject __doc__

### func_globals

    public PyObject func_globals

### func_defaults

    public PyObject[] func_defaults

### func_code

    public PyCode func_code

### __dict__

    public PyObject __dict__

### func_closure

    public PyObject func_closure

Constructor Detail

### PyFunction

    public PyFunction(PyObject globals,
                      PyObject[] defaults,
                      PyCode code,
                      PyObject doc,
                      PyObject[] closure_cells)

### PyFunction

    public PyFunction(PyObject globals,
                      PyObject[] defaults,
                      PyCode code,
                      PyObject doc)

### PyFunction

    public PyFunction(PyObject globals,
                      PyObject[] defaults,
                      PyCode code)

### PyFunction

    public PyFunction(PyObject globals,
                      PyObject[] defaults,
                      PyCode code,
                      PyObject[] closure_cells)

Method Detail

### __dir__

    public PyObject __dir__()

  Description copied from class: `PyObject`
  Equivalent to the standard Python __dir__ method.

  Overrides:
    `__dir__` in class `PyObject`
  Returns:
    a list of names defined by this object.

### __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)`

### isMappingType

    public boolean isMappingType()

  Overrides:
    `isMappingType` in class `PyObject`

### isNumberType

    public boolean isNumberType()

  Overrides:
    `isNumberType` in class `PyObject`

### isSequenceType

    public boolean isSequenceType()

  Overrides:
    `isSequenceType` in class `PyObject`

### __findattr__

    public PyObject __findattr__(java.lang.String name)

  Description copied from class: `PyObject`
  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!!!!!!!!

  Overrides:
    `__findattr__` in class `PyObject`
  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:
    `PyObject.__findattr__(PyString)`

### _doget

    public PyObject _doget(PyObject container)

  Overrides:
    `_doget` in class `PyObject`

### _doget

    public PyObject _doget(PyObject container,
                           PyObject wherefound)

  Overrides:
    `_doget` in class `PyObject`

### __call__

    public PyObject __call__()

  Description copied from class: `PyObject`
  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.

  Overrides:
    `__call__` in class `PyObject`

### __call__

    public PyObject __call__(PyObject arg)

  Description copied from class: `PyObject`
  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.

  Overrides:
    `__call__` in class `PyObject`
  Parameters:
    `arg` - the single argument to the function.

### __call__

    public PyObject __call__(PyObject arg1,
                             PyObject arg2)

  Description copied from class: `PyObject`
  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.

  Overrides:
    `__call__` in class `PyObject`
  Parameters:
    `arg1` - the first argument to the function.
    `arg2` - the second argument to the function.

### __call__

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

  Description copied from class: `PyObject`
  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.

  Overrides:
    `__call__` in class `PyObject`
  Parameters:
    `arg1` - the first argument to the function.
    `arg2` - the second argument to the function.
    `arg3` - the third argument to the function.

### __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.

### __call__

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

  Description copied from class: `PyObject`
  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.

  Overrides:
    `__call__` in class `PyObject`
  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.

### toString

    public java.lang.String toString()

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

Jython homepage