ITookAPill's picture
PyComp First Commit
9273228
|
Raw
History Blame Contribute Delete
2.17 kB
# Instance Method Objects {#instancemethod-objects}
::: index
pair: object; instancemethod
:::
An instance method is a wrapper for a `PyCFunction`{.interpreted-text role="c:type"} and the new way to bind a `PyCFunction`{.interpreted-text role="c:type"} to a class object. It replaces the former call `PyMethod_New(func, NULL, class)`.
> This instance of `PyTypeObject`{.interpreted-text role="c:type"} represents the Python instance method type. It is not exposed to Python programs.
> Return true if *o* is an instance method object (has type `PyInstanceMethod_Type`{.interpreted-text role="c:data"}). The parameter must not be `NULL`. This function always succeeds.
> Return a new instance method object, with *func* being any callable object. *func* is the function that will be called when the instance method is called.
> Return the function object associated with the instance method *im*.
> Macro version of `PyInstanceMethod_Function`{.interpreted-text role="c:func"} which avoids error checking.
# Method Objects
::: index
pair: object; method
:::
Methods are bound function objects. Methods are always bound to an instance of a user-defined class. Unbound methods (methods bound to a class object) are no longer available.
> ::: index
> single: MethodType (in module types)
> :::
>
> This instance of `PyTypeObject`{.interpreted-text role="c:type"} represents the Python method type. This is exposed to Python programs as `types.MethodType`.
> Return true if *o* is a method object (has type `PyMethod_Type`{.interpreted-text role="c:data"}). The parameter must not be `NULL`. This function always succeeds.
> Return a new method object, with *func* being any callable object and *self* the instance the method should be bound. *func* is the function that will be called when the method is called. *self* must not be `NULL`.
> Return the function object associated with the method *meth*.
> Macro version of `PyMethod_Function`{.interpreted-text role="c:func"} which avoids error checking.
> Return the instance associated with the method *meth*.
> Macro version of `PyMethod_Self`{.interpreted-text role="c:func"} which avoids error checking.