我在函数中使用可选参数和必需参数时遇到问题。
def process_data(*stock, currency)
使用参数
process_data('IVV', 'QQQ', 'USD')
产生错误“TypeError:process_data()缺少1个必需的仅限关键字参数:'currency'”
答案 0 :(得分:2)
你需要告诉Python美元是货币,因为它无法知道如何为变量赋值:
process_data('IVV', 'QQQ', currency='USD')
答案 1 :(得分:0)
在函数定义中使用*params
在调用该函数时将所有位置参数分组为元组。为了捕获任何额外的参数,您需要以关键字形式提供它们;提供他们的名字:
process_data('IVV', 'QQQ', currency='USD')
您也可以指定currency
,其默认值为USD
:
def process_data(*stock, currency='USD')
除非您需要其他货币,否则无需在通话时指定货币:
process_data('IVV', 'QQQ')