亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python一次性傳入多個參數怎樣傳?

Python一次性傳入多個參數怎樣傳?

John_Skeet 2017-05-04 19:10:28
def?insert_sql(*args,?**kw): ????for?k?in?kw: ????????SQL_INSERT?=?"insert?into?nostray(%s)?values('%s')"?%?(k,?kw[k]) ????return?SQL_INSERT sql?=?insert_sql(userid="ka")比如傳入userid=“a”到里面就是insert into nostray(userid) values("a")但是傳入userid="a", username="b"就不是 insert into nostray(userid, username) values("a", "b")這樣的話怎么寫?謝謝
查看完整描述

1 回答

?
ruibin

TA貢獻358條經驗 獲得超213個贊

# -*- coding: UTF-8 -*-
def insert_sql(**kw):
? ?keys = []
? ?values = []
? ?for k in kw:
? ? ? ?keys.append(k)
? ? ? ?values.append(kw[k])
? ?SQL_INSERT = "insert into nostray%s values%s" % (tuple(keys),tuple(values))
? ?return SQL_INSERT
? ?# return SQL_INSERT


sql = insert_sql(userid="a", username="b", age='20')
print sql

查看完整回答
反對 回復 2017-05-05
  • John_Skeet
    John_Skeet
    sql語句中,colum名不能帶引號的啊,我找到解決辦法了 def insert_sql(**kw): key = ','.join(kw.keys()) value = tuple(kw.values()) SQL_INSERT = "insert into nostray({0}) values{1}".format(key, value) return SQL_INSERT sql = insert_sql(userid='kp', username='gg')
  • ruibin
    ruibin
    你這樣寫有問題。我剛開始就這樣想的,不過你這個依舊有引號,引號在最外面。例如','.[1, 2, 3]返回的是一個'1,2,3'這樣的字符串,你括起來,就發現問題了。你可以試試
  • ruibin
    ruibin
    沒看見這個nostray({0}) ,不好意思
  • 1 回答
  • 0 關注
  • 5750 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號