有人能解释一下为什么我要用Python获得这个输出吗?
因此,我尝试调用函数grovery_shopping,它接受作为参数的问候语、一个iterable(emp_name)和一个dictionary(items)。 我通过关键字传递参数。 然而,输出似乎有点奇怪,因为作为emp_name传递的参数被读取为items!有人能解释一下为什么我要用Python获得这个输出吗?,python,arguments,function-call,Python,Arguments,Function Call,因此,我尝试调用函数grovery_shopping,它接受作为参数的问候语、一个iterable(emp_name)和一个dictionary(items)。 我通过关键字传递参数。 然而,输出似乎有点奇怪,因为作为emp_name传递的参数被读取为items! 有人能帮我解释一下这种(看似奇怪的)行为吗 在python中定义一个带有参数(如*args)的函数时,它会将所有未命名的非关键字变量收集到名为args的列表中。在python中定义一个带有类似**kwargs的参数的函数时,它会将所有
有人能帮我解释一下这种(看似奇怪的)行为吗 在python中定义一个带有参数(如
*args
)的函数时,它会将所有未命名的非关键字变量收集到名为args
的列表中。在python中定义一个带有类似**kwargs
的参数的函数时,它会将所有关键字变量收集到名为kwargs
的字典中,其中键是变量名,值是值。因此,您所做的是将17.08.2019
放入greeting
参数中,在emp_names
中不放入任何内容,并将关键字参数放入项中。您的第一个for循环将不起任何作用,因为emp\u names
为空。在第二个for循环中,将字典项打印两次
如果您仍然感到困惑,请用python搜索*args
和**kwargs
。您将emp_name
和项
作为命名的args,因此它们都包含在**items
中<代码>*emp_name
为空
您应该阅读*args
和**kwargs
请提供文本代码和输出,而不是屏幕截图。在emp\u名称
和项
参数的声明中,您为什么有*
和***