这是我第一次在这里发帖。希望我能得到很好的建议:)我已经学会了如何将**kwargs和*args都传递到函数中,而且效果很好。如下所示:
def market_prices(name, **kwargs):
print("Hello! Welcome to "+name+" Market!")
for fruit, price in kwargs.items():
price_list = " {} is NTD {} per piece.".format(fruit,price)
print (price_list)
market_prices('Wellcome',banana=8, apple=10)
但是在实际情况下,我宁愿预先定义一个包含大量键值的字典,因此在调用函数时不必输入每个参数。我在网上搜索过,但找不到一个好的例子或解释:/你能给我一些建议吗?下面是我想说的代码:
^{pr2}$名称错误:未定义名称“水果”
非常感谢你!:)
有4种可能的情况:
您可以使用命名参数调用函数,并且您希望函数中的命名变量:
(注意默认值)
您可以使用命名参数来调用函数,但在函数中需要一个字典:
^{pr2}$然后在函数定义中使用
**dictionaryname
来收集传递的参数您调用函数传递字典,但需要函数中的命名变量:
调用函数解包字典时使用
**dictionaryname
您调用函数传递一个字典并且您希望一个字典在函数中:
把字典递给我就行了
定义
fruits
时出错。应该是这样的在水果参数之前使用
**
。在相关问题 更多 >
编程相关推荐