如何在 python 中将字典项作为函数参数传递?

我的原则

第一档:

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')

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

编辑: 字典键 同学们改为 标准

270328 次浏览

你可以直接传球

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

或者如果你真的想的话

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

如果你想这样使用它们,定义一个变量名为普通的函数:

def my_function(school, standard, city, name):
schoolName  = school
cityName = city
standardName = standard
studentName = name

现在你可以使用 **当你 打电话的函数:

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}


my_function(**data)

你想怎么做就怎么做。

不要使用诸如 class这样的保留字(例如,改用 klass)

Data 将参数解释为 tuple,而必须传递将参数解释为 dictionary 的 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)