如何在Python中将字典项目作为函数parameter passing?

我的代码

第一档:

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'} my_function(*data) 

第二档:

 my_function(*data): schoolname = school cityname = city standard = standard studentname = name 

在上面的代码中,只有“数据”字典的键被传递给my_function() ,但我想要键值对传递。 如何纠正这个?

我希望my_function()像这样被修改

 my_function(school='DAV', standard='7', name='abc', city='delhi') 

这是我的要求,根据这个答案

编辑:字典密钥更改为标准

如果你想这样使用它们,用variables名定义函数是正常的(但是使用klass作为class ,不能使用保留字):

 def my_function(school, city, klass, name): schoolname = school cityname = city standard = klass studentname = name 

现在(只要你把字典重命名为klass),你可以在调用函数时使用**

 my_function(**data) 

它会按你的意愿工作。

*数据将参数解释为元组,而不是必须传递将数据解释为字典的数据。

 data = {'school':'DAV', 'class': '7', 'name': 'abc', 'city': 'pune'} def my_function(**data): schoolname = data['school'] cityname = data['city'] standard = data['class'] studentname = data['name'] 

你可以这样调用函数:

 my_function(**data) 

你可以通过它

 def my_function(my_data): my_data["schoolname"] = "something" print my_data 

或者如果你真的想

 def my_function(**kwargs): kwargs["schoolname"] = "something" print kwargs