14.14.1.13 Arrays
Arrays are sequences, containing a fixed number of instances of the
same type.
The recommended way to create array types is by multiplying a data
type with a positive integer:
TenPointsArrayType = POINT * 10
Here is an example of an somewhat artifical data type, a structure
containing 4 POINTs among other stuff:
>>> from ctypes import *
>>> class POINT(Structure):
... _fields_ = ("x", c_int), ("y", c_int)
...
>>> class MyStruct(Structure):
... _fields_ = [("a", c_int),
... ("b", c_float),
... ("point_array", POINT * 4)]
>>>
>>> print len(MyStruct().point_array)
4
>>>
Instances are created in the usual way, by calling the class:
arr = TenPointsArrayType()
for pt in arr:
print pt.x, pt.y
The above code print a series of 0 0 lines, because the array
contents is initialized to zeros.
Initializers of the correct type can also be specified:
>>> from ctypes import *
>>> TenIntegers = c_int * 10
>>> ii = TenIntegers(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> print ii
<c_long_Array_10 object at 0x...>
>>> for i in ii: print i,
...
1 2 3 4 5 6 7 8 9 10
>>>
Release 2.5.2, documentation updated on 21st February, 2008.
See About this document... for information on suggesting changes.
|