我遇到了一个在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'
提前致谢:)
答案 0 :(得分:1)
如果您来自各种其他编程语言,缩进可能是Python中的一个无声杀手。正如您所知,缩进是Python在编写代码时如何确定方法,函数,类,循环等的范围。确保缩进是一致的!您可以使用命令行选项-t或-tt来检查自己。
答案 1 :(得分:1)
对不起伙计们,我曾经用过一个旧包裹。 我的问题已得到解决。 谢谢你的回答。