14.14.1.6 Calling functions with your own custom data types
You can also customize ctypes
argument conversion to allow
instances of your own classes be used as function arguments.
ctypes
looks for an _as_parameter_ attribute and uses this as
the function argument. Of course, it must be one of integer, string,
or unicode:
>>> class Bottles(object): ... def __init__(self, number): ... self._as_parameter_ = number ... >>> bottles = Bottles(42) >>> printf("%d bottles of beer\n", bottles) 42 bottles of beer 19 >>>
If you don't want to store the instance's data in the
_as_parameter_ instance variable, you could define a property
which makes the data avaiblable.
See About this document... for information on suggesting changes.