Python (参数)s在这里是什么意思
我有一个这样的代码片段。我对%()s的用法感到困惑。 如果用于格式化参数, 我们不应该用%(threshold)d作为threshold,因为它是一个数字吗Python (参数)s在这里是什么意思,python,sql,wildcard,Python,Sql,Wildcard,我有一个这样的代码片段。我对%()s的用法感到困惑。 如果用于格式化参数, 我们不应该用%(threshold)d作为threshold,因为它是一个数字吗 def recommendations_for_user(user_id, threshold=4.5): # Join with the courses table query = """ SELECT title, rating FROM recommendations INNER JO
def recommendations_for_user(user_id, threshold=4.5):
# Join with the courses table
query = """
SELECT title, rating FROM recommendations
INNER JOIN courses ON courses.course_id = recommendations.course_id
WHERE user_id=%(user_id)s AND rating>%(threshold)s
ORDER BY rating DESC
"""
# Add the threshold parameter
predictions_df = pd.read_sql(query, db_engine, params = {"user_id": user_id,
"threshold": threshold})
return predictions_df.title.values
# Try the function you created
print(recommendations_for_user(12, 4.65))
%(阈值)s和%(阈值)d将执行相同的操作,但%(阈值)d将强制执行格式
%s将调用str(arg),其中as%d将在调用str()之前调用int(arg)
因此,对于%d,它将是str(int(arg)),如果arg不是有效数字,则会导致错误。%s不会引起任何错误
因此,如果您确信threshold始终是一个有效数字,则可以使用%(threshold)s。%(threshold)s和%(threshold)d将执行相同的操作,但%(threshold)d将强制使用格式
%s将调用str(arg),其中as%d将在调用str()之前调用int(arg)
因此,对于%d,它将是str(int(arg)),如果arg不是有效数字,则会导致错误。%s不会引起任何错误
因此,如果您确定阈值始终是一个有效数字,您可以使用%(阈值)s.这不是(唯一)SQL。问题和标签是主机语言和/或框架。您使用的是哪种dbms?这不是(唯一的)SQL。问题并标记主机语言和/或框架。您使用的是哪种数据库管理系统?如果此答案对您有帮助,请单击绿色复选框接受此答案,以便将此问题标记为已回答。如果此答案对您有帮助,请单击绿色复选框接受此答案,以便将此问题标记为已回答。