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.