问题描述
我试图学习更多Python,所以我决定使用python(一个简单的图像处理应用)来做一个学校项目。
我被困在这一部分:我试图初始化两个父类,但无法使其正常工作。
我得到的错误是:
TypeError: object.__init__() takes exactly one argument (the instance to initialize).
我在这里阅读了其他问题后解决了两个问题,但是我无法弄清楚这个问题。 我希望有人能帮助我了解我在做什么错。
class MessageSystem:
def __init__(self,class_name: str):
self._class_name = class_name
def print_status(self,msg: str):
print(f"{self._class_name} :: {msg}")
def print_error_status(self,err_msg: str):
print(f"{self._class_name} :: {err_msg}")
class DataTools:
def __init__(self,img: np.ndarray):
self.img = img
self._rgb_layers = [None,None,None]
@property
def img(self):
return self.img
@img.setter
def img(self,value):
self._img = value
self.__convert_if_needed_img_to_uint8()
self.__unstack_layers()
def __convert_if_needed_img_to_uint8(self):
if self._img.dtype != np.uint8:
self.img_as_uint8()
def __unstack_layers(self):
for index,layer in enumerate(self._rgb_layers):
self._rgb_layers[index] = self.img[:,:,index]
class Image(DataTools,MessageSystem):
def __init__(self,img):
self._original_img = None
super(DataTools,self).__init__(img)
super(MessageSystem,self).__init__("Image") # Error is here
@DataTools.img.setter
def img(self,value):
DataTools.img.__set__(self,value)
self._original_img = self.img.copy()
print(f"original: {self._original_img.shape}")
MessageSystem.print_status("Initialized img and layers")
def save_to_disk(self,save_path: str):
"""Save processed image as np.uint8 to disk"""
self.__convert_if_needed_img_to_uint8()
skimage.io.imsave(save_path,self.img)
我省略了其他不相关的成员。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)