3
有一些StackOverflow問題詢問有關使用變量作爲變量(如this和this,但我不認爲這是重複的這些。我想知道如果我可以使用的值。變量作爲函數參數我可以使用變量的值作爲函數的參數名稱嗎?
例如,假設我要打電話將填充兩種不同的MySQL表一個函數:
- 的名表的列
id
和fullname
分
- 的手機表的列
id
和phonenum
data = get_data() # data = a full name or a phone number
data_type = get_data_type(data) # data_type = "name" or "phone"
....
column_names_for_tables = {'name': 'fullname', 'phone': 'phonenum'}
column_name = column_names_for_tables[data_type]
# column_name now = "fullname" or "phonenum", depending on the value of #data
new_entry = MakeNewEntry(date=datetime.datetime.now(), id=123, <column_name>=data)
課程,最後一行是無效的蟒蛇,但我的目標是動態生成的函數調用:
new_entry = MakeNewEntry(date=datetime.datetime.now(), id=123, fullname=data)
或
new_entry = MakeNewEntry(date=datetime.datetime.now(), id=123, phonenum=data)
也就是說,我想使用column_name
的值作爲我的參數的名稱。
我可以這樣做嗎?
(在這個例子中,請假設MakeNewEntry()
是不是我的控制之下 - 它將接受date
,id
和phonenum
或fullname
參數,但不能進行重構。)
完美的作品 - 謝謝! –