关于带参数的字符串的新手Python问题:"%% s"?

Epa*_*aga 5 python string

我想弄清楚以下几行究竟是什么 - 特别是%%的部分?

cursor.execute('INSERT INTO mastertickets (%s, %s) VALUES (%%s, %%s)'%sourcedest, (self.tkt.id, n))
Run Code Online (Sandbox Code Playgroud)

关于字符串格式化和使用Python将变量插入字符串的任何好的迷你教程?

Ned*_*der 6

%%成为一个单一的%.此代码基本上执行两个级别的字符串格式.首先%sourcedest执行将您的代码基本上转换为:

cursor.execute('INSERT INTO mastertickets (BLAH, FOO) VALUES (%s, %s)', (self.tkt.id, n))
Run Code Online (Sandbox Code Playgroud)

然后db层将参数应用于剩下的插槽.

需要双倍才能使db的插槽安全地通过第一个字符串格式化操作.