我有一个这样的课程:
class FloatArray():
def __init__(self):
self.a = 1.5
def __new__( cls, value ):
data = (c_float * value)()
return data
array_1 = FloatArray(9)
print(array_1)
>>>> __main__.c_float_Array_9 object at 0x102228c80>
现在我想让一个FloatArray4类继承自FloatArray类,并且可以调用值a。
这是第二节课的代码。
class FloatArray4( FloatArray ):
def __init__(self):
super(FloatArray, self).__init__()
def printValue( self ):
print(self.a)
我有问题:
首先,我必须打电话给array_2 = FloatArray4(4)
我不想要的,我希望它被称为array_2 = FloatArray4()
,但我不知道如何。
其次,当我尝试拨打array_2.printValue()
时出现错误:AttributeError: 'c_float_Array_4' object has no attribute 'printValue'
有人可以帮忙吗?
感谢。
答案 0 :(得分:0)
c_float = 5
class FloatArray(object):
def __init__(self, value):
super(FloatArray, self).__init__()
self.a = 1.5
def __new__( cls, value ):
obj = super(FloatArray, cls).__new__(cls)
obj.data = c_float * value
return obj
array_1 = FloatArray(9)
class FloatArray4(FloatArray):
def __init__(self, value=4):
super(FloatArray4, self).__init__(value)
def __new__(cls, value=4):
obj = super(FloatArray4, cls).__new__(cls, value)
return obj
def printValue( self ):
print(self.a)
array_2 = FloatArray4()
array_2.printValue()