Objetos de Método de Instância
******************************

Um método de instância é um wrapper para um "PyCFunction" e a nova
maneira de vincular um "PyCFunction" a um objeto de classe. Ele
substitui a chamada anterior "PyMethod_New(func, NULL, class)".

PyTypeObject PyInstanceMethod_Type

   Esta instância de "PyTypeObject" representa o tipo de método de
   instância Python. Não é exposto a programas Python.

int PyInstanceMethod_Check(PyObject *o)

   Retorna verdadeiro se *o* é um objeto de método de instância (tem
   tipo "PyInstanceMethod_Type"). O parâmetro não deve ser "NULL".

PyObject* PyInstanceMethod_New(PyObject *func)
    *Return value: New reference.*

   Retorna um novo objeto de método de instância, com *func* sendo
   qualquer objeto chamável *func* é a função que será chamada quando
   o método de instância for chamado.

PyObject* PyInstanceMethod_Function(PyObject *im)
    *Return value: Borrowed reference.*

   Retorna o objeto de função associado ao método de instância *im*.

PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im)
    *Return value: Borrowed reference.*

   Versão macro de "PyInstanceMethod_Function()" que evita a
   verificação de erros.


Objetos Métodos
***************

Métodos são objetos de função vinculados. Os métodos são sempre
associados a uma instância de uma classe definida pelo usuário.
Métodos não vinculados (métodos vinculados a um objeto de classe) não
estão mais disponíveis.

PyTypeObject PyMethod_Type

   Esta instância de "PyTypeObject" representa o tipo de método
   Python. Isso é exposto a programas Python como "types.MethodType".

int PyMethod_Check(PyObject *o)

   Retorna verdadeiro se *o* é um objeto de método (tem tipo
   "PyMethod_Type"). O parâmetro não deve ser "NULL".

PyObject* PyMethod_New(PyObject *func, PyObject *self)
    *Return value: New reference.*

   Retorna um novo objeto de método, com *func* sendo qualquer objeto
   chamável e *self* a instância à qual o método deve ser vinculado.
   *func* é a função que será chamada quando o método for chamado.
   *self* não deve ser "NULL".

PyObject* PyMethod_Function(PyObject *meth)
    *Return value: Borrowed reference.*

   Retorna o objeto de função associado ao método *meth*.

PyObject* PyMethod_GET_FUNCTION(PyObject *meth)
    *Return value: Borrowed reference.*

   Versão macro de "PyMethod_Function()" que evita a verificação de
   erros.

PyObject* PyMethod_Self(PyObject *meth)
    *Return value: Borrowed reference.*

   Retorna a instância associada com o método *meth*

PyObject* PyMethod_GET_SELF(PyObject *meth)
    *Return value: Borrowed reference.*

   Versão macro de "PyMethod_Self()" que evita a verificação de erros.

int PyMethod_ClearFreeList()

   Limpe a lista livre. Retorna o número total de itens liberados.
