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
参数,但不能进行重构。)
完美的作品 - 谢谢! –