次のようなコードがあります。
var1 = 1
var2 = 2
cursor.execute("INSERT INTO mytable VALUES (:var1, :var2)", {'var1': var1, 'var2': var2})
単にこれを行うのではなく、辞書リテラルを使用してパラメーターを渡す必要がある理由はありますか?
var1 = 1
var2 = 2
cursor.execute("INSERT INTO mytable VALUES (:var1, :var2)", locals())
これはよりシンプルで保守しやすいように感じますが、ここである種のセキュリティ臭が発生しているという感覚を揺るがすことはできません.