我有一个用我试图调用的方法创建的类,尽管另一个python模块只包含一个main函数,它给我一个名为“unigueIDList is not defined”的错误。以下简称代码
第一个模块
class ClassObjects:
def __init__(self, unigueIDList, nameList, priceList):
self.ID = unigueIDList
self.name = nameList
self.price= priceList
def uniqueId(self, list):
unigueIDList= []
[unigueIDList.append(item) for item in list
if item not in unigueIDList]
self.ID.extend(unigueIDList)
return unigueIDList
def loadList(filename1, filename2):
with open(filename1, "r") as csv1, open(filename2, "r") as csv2:
csvReader1 = csv.DictReader(csv1)
csvReader2 = csv.DictReader(csv2)
iDList = []
for row1, row2 in zip(csvReader1, csvReader2):
idList.append((row2["Id"]))
return iDList
第二模块
def main()
newTest = ClassObjects(unigueIDList, nameList, priceList)
iDList = newTest.loadList(filename1, filename2)
Id = newTest.uniqueId(iDList)
我想你应该先建立你的实例。现在如何调用它,没有先创建实例,只是像调用静态方法一样调用它,但它不是,因此第一个参数被视为
self
,第二个参数丢失。相反,您首先需要一个初始化的对象。你知道吗以及创建实例的主要位置
我相信你们并没有给懒汉下定义是事实。请试试这个:
如果问题解决了,您还没有定义idList
我不知道这是否是一个优雅的解决方案,但您可以尝试在调用函数时输入类名作为参数。你知道吗
相关问题 更多 >
编程相关推荐