1

我遇到了一个在 Python 类中定义的函数的问题:

class DatabaseHandler:

    def get_messages_by_last_mid(self, uidReceiver, last_mid):

        self.cursor.execute("SELECT uidSender, content FROM messages WHERE MID > ?", str(last_mid))

        ret_value = []
        result = self.cursor.fetchone()
        while result != None:
            ret_value.append(result)
            result = self.cursor.fetchone()

        return ret_value

    def get_messages_by_last_group_id(self, uidReceiver, last_gid):

        self.cursor.execute("SELECT gidreceiver, uidsender, content FROM groupmessages WHERE mid > ?", str(last_gid))

        ret_value = []
        result = self.cursor.fetchone()
        while result != None:
           ret_value.append(result)
           result = self.cursor.fetchone()

        return ret_value

但只有函数 get_messages_by_last_mid() 有效,另一个产生以下错误:

AttributeError: DatabaseHandler instance has no attribute 'get_messages_by_last_group_id'

提前致谢 :)

4

2 回答 2

1

如果您来自其他各种编程语言,缩进可能是 Python 中的无声杀手。如您所知,缩进是 Python 在您编写代码时确定方法、函数、类、循环等范围的方式。确保你的缩进是一致的!您可以使用命令行选项 -t 或 -tt 到 python 来检查自己。

于 2013-07-07T01:05:23.893 回答
1

对不起,伙计们,我用的是旧包。我的问题已经解决了。感谢您的回答。

于 2013-07-07T09:44:21.297 回答