我是一个新手程序员我正在定义这个简单的类但我收到以下错误我无法理解我做错了什么
from PIL import Image
class PreProcessing(object):
def __init__(self,NAME):
super(PreProcessing,self).__init__()
self.name = NAME
self.newsize = 512
PATH = '/home/alireza/Desktop/ssd'
self.pathImage = PATH + '/' + self.name + '.jpg'
self.pathAnn = PATH + '/' + self.name + '.xml'
def image_loader(self):
print(self.pathImage )
当我打电话给NAME = '002498'
PreProcessing.image_loader(NAME)
,我得到这个错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-38-5747710fa005> in <module>()
3 sizee = [1, 3, 375, 500]
4 # A= PreProcessing(NAME)
----> 5 PreProcessing.image_loader(NAME)
<ipython-input-37-5f788218f7e3> in image_loader(self)
10
11 def image_loader(self):
---> 12 print(self.pathImage )
AttributeError: 'str' object has no attribute 'pathImage'
正如@kindall在他的评论中所说,你不是在做一个班级的实例。如果你这样设置它会工作,创建类PreProcessing()的“hello”对象:
from PIL import Image
class PreProcessing(object):
def __init__(self,NAME):
super(PreProcessing,self).__init__()
self.name = NAME
self.newsize = 512
PATH = '/home/alireza/Desktop/ssd'
self.pathImage = PATH + '/' + self.name + '.jpg'
self.pathAnn = PATH + '/' + self.name + '.xml'
def image_loader(self):
print(self.pathImage )
NAME = "12345"
hello = PreProcessing(NAME)