极限输入值(unitest)

2024-09-28 21:26:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在对这个很困惑。默认情况下,limit是none,但是如果我在unitest中测试它并询问特定数量的注释,它会说类型不匹配。我知道“int”不是正确的术语。我只是说极限应该是一个整数。根据unitest中的限制,正确的输入寻址方式是什么。你知道吗

def list_comments(db, limit=None): limit = "int"
    limit = "int"

    cur = db.cursor()
    cur.execute("SELECT id, comment FROM comments ORDER BY id DESC LIMIT ?", (limit,))
    results = cur.fetchall()

    print results

    return results

Tags: noneid类型db数量方式情况整数
1条回答
网友
1楼 · 发布于 2024-09-28 21:26:11

从函数后面移除limit = "int",将limit参数默认为0,并将占位符用作%s

def list_comments(db, limit=0):
    cur = db.cursor()
    cur.execute("SELECT id, comment FROM comments ORDER BY id DESC LIMIT %s", (str(limit)))
    results = cur.fetchall()

    print results

    return results

如果还不需要逗号,也可以去掉它;(limit,)。你知道吗

我特意将限制值解析为一个字符串(如果它真的是一个整数,您可以首先检查它),以使它始终与%s占位符匹配。你知道吗

相关问题 更多 >