Python AttributeError 'str' 对象没有属性 '_sID'

标签 python eclipse

我在 python ecplise 中遇到错误,但没有找到解决方案。

类(class):

class Student:
    '''
    This class is used to store data about the students
    It contains:
        sID - id of student
        sName - name of student
    '''
    def __init__(self, sID, sName):
        '''
        Initialized the student
        '''
        self._sID = sID
        self._sName = sName


    def getID(self):
        '''
        Return student id
        '''
        return self._sID

    def setID(self, ID):
        self._sID = ID

    def setName(self, name):
        self._sName = name

    def getName(self):
        '''
        Return student name
        '''
        return self._sName

    def __str__(self):
        '''
        Converts the student into printable text
        '''
        msg ='ID: ' + str(self._sID) + ', Name: ' + self._sName
        return msg

    def __eq__(self, s):
        '''
        Checks if two students have the same ID and name
        '''
        return self._sID == s._sID and self._sName == s._sName

以下是属性错误:

 Traceback (most recent call last):
  File "C:\Users\crist\workspace\lab5_7\appStart.py", line 16, in <module>
    ui.mainMenu()
  File "C:\Users\crist\workspace\lab5_7\UI\ui.py", line 80, in mainMenu
    self._searchElementMenu(cmd[1])
  File "C:\Users\crist\workspace\lab5_7\UI\ui.py", line 57, in _searchElementMenu
    self._controller.searchElement(cType, cSearch)
  File "C:\Users\crist\workspace\lab5_7\controller\controller.py", line 27, in searchElement
    if isinstance(lst[i], Student) == True and lst[i] == eSearch:
  File "C:\Users\crist\workspace\lab5_7\domain\student.py", line 55, in __eq__
    return self._sID == s._sID and self._sName == s._sName
AttributeError: 'str' object has no attribute '_sID'

有人可以帮助我吗?

如果有必要,我可以给你更多代码。

sID是每个学生的唯一id,我需要这个函数来验证是否有更多学生具有相同的id。

非常感谢!

最佳答案

您正在尝试将 = 运算符与 Student 实例和字符串一起使用。

该错误表明字符串实例没有 _sID 变量,例如:

"test"._sID

关于Python AttributeError 'str' 对象没有属性 '_sID',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597212/

相关文章:

java - Tomcat 自动转发到某个页面。找不到设置

java - Eclipse 调试单步不起作用

编写列表列表的 Python csv 文件

python - 无法使用keras实现层归一化

python - 以编程方式将 Pandas 数据框转换为 Markdown 表

javascript - Python 中的命令输出(stdout、stderr)到网络

python - 有没有更好的方法来控制子进程的 PYTHONPATH?

安卓 : How can I use DX option in eclipse?

android - 在 Eclipse 中编译时出错

linux - Eclipse GUI 中的滚动条不存在