我有一组Python文件从而弥补了一个程序来保存信息的花絮,并通过标签搜索协会他们。 我有计划了很多版本的工作,但我最近做了什么,我认为是导致该程序就会失控一个微小的变化。 条目对象是数据存储的基础上 - 它拥有一个唯一的ID号码,昵称,的值,并且的标签列表。
class ENTRY:
def __init__(self, idNum, nickName, value, tagList):
self.idNum = idNum
self.nickName = nickName
self.value = value
self.tagList = tagList
我意识到,我是可以互换指的是“昵称”的属性为“名”,要求在其他文件中输入的时候,所以我决定以查找和替换所有提到的“昵称”与“名”,以使代码更易于理解。 我在ENTRY.py文件以及所有在程序相关的Python文件这样做。 我甚至他们校对,以确保变更没惹任何区分大小写的函数调用或任何东西。
问题:现在,当我运行该程序,我得到一个属性错误:
Traceback (most recent call last):
File "/Memory/TagMem.py", line 210, in <module>
main()
File "/Memory/TagMem.py", line 207, in main
dispatch(userChoice)
File "/Memory/TagMem.py", line 171, in dispatch
nameList('todo')
File "/Memory/TagMem.py", line 103, in nameList
memory.searchListNames(queryList)
File "/Memory/Memory.py", line 96, in searchListNames
each.printName()
File "/Memory/ENTRY.py", line 49, in printName
print("({}) {}".format(self.idNum, self.name))
AttributeError: 'ENTRY' object has no attribute 'name'
但经过查找和替换,该条目对象肯定有一个属性“名”:
class ENTRY:
def __init__(self, idNum, name, value, tagList):
self.idNum = idNum
self.name = name
self.value = value
self.tagList = tagList
有谁知道的原因,当属性是在类的构造非常明确的规定,我会得到一个属性错误?
有关完整的类代码更完整的信息,请参阅GitHub的库: https://github.com/kylelambert101/TagMem
而具体的承诺与碰撞引起的变化: https://github.com/kylelambert101/TagMem/commit/68987f2e6ed98012f36ec5230b3dac6f09373489
谢谢!