Python函数定义不起作用

时间:2013-07-07 00:27:44

标签: python function definition

我遇到了一个在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'

提前致谢:)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

对不起伙计们,我曾经用过一个旧包裹。 我的问题已得到解决。 谢谢你的回答。