所以我想创建一个函数来接受字典的值,创建新的字典并返回它。然后我想在代码的其他地方分配该值。但我得到类型错误 dict object is not callable。我怎样才能做到这一点?
def shoe(brand, model):
shoe = {}
shoe['brand'] = brand
shoe['model'] = model
return shoe
shoes_list = []
shoe = {}
shoe = shoe('Some Brand', 'Some model')
print(shoe)
最佳答案
def shoe(brand, model):
此处创建一个名为 shoe
的函数。
shoe = {}
现在您创建一个名为 shoe
的变量并为其分配一个字典。这还不是问题,因为这个变量是函数内部的本地变量。然而,以这种方式重复使用相同的名称可能会非常困惑。我建议更改此变量的名称。
shoe['brand'] = brand
shoe['model'] = model
return shoe
shoes_list = []
shoe = {}
现在,您将重新分配名称 shoe
以引用空字典,而不是它过去引用的函数。这将导致稍后使用 shoe()
调用函数失败。
shoe = shoe('Some Brand', 'Some model')
然后尝试将函数的返回值分配给名称 shoe()
。我认为这是函数调用失败的地方。请注意,如果解决此问题,则根本不需要 shoe = {}
。
print(shoe)
您对两个不同的事物使用相同的名称:一次用于函数名称,一次用于字典名称。使用两个不同的名称来解决问题。一般来说,函数名应该是动词。因此,您可以对函数名称执行 get_shoe()
或 create_shoe()
操作。然后在字典中使用名词shoe
就可以了。
关于python - 如何将字典分配给另一个字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58564911/