* Torsten Mohr:
Hello,
i try to derive a class from array.array:
import array
class Abc(array.array):
def __init__(self, a, b):
array.array.__init__(self, 'B')
self.a = a
self.b = b
a = Abc(4, 5)
print a
print a.a
I get an error for "a = Abc(4, 5)", seems the parameters are
forwarded to array's __init__ as they are.
No, with CPython they're forwarded to __new__.
Though i explicitly
call __init__() for array.
That's the constructor inherited from 'object', it takes no args (except the
self arg).
I'd like to use array and make sure it's type is always 'B'.
I'd like to derive because i don't want to rewrite all the methods like
__getiem__ for my class and then call array's __getitem__.
How do i best derive from array.array?
<code>
import array
class ByteArray( array.array ):
def __new__( self, *args ):
return array.array.__new__( self, "B" )
def __init__( self, a, b ):
array.array.__init__( self )
self.a = a
self.b = b
a = ByteArray( 4, 5 )
print( a )
print( a.a )
</code>
Disclaimer: I'm not a Python programmer. :-)
Cheers & hth.,
- Alf
--
http://mail.python.org/mailman/listinfo/python-list