2024-10-04 11:21:50 发布
网友
因此,我尝试调用函数screery\u shopping—它接受问候语、iterable(emp\u名称)和dictionary(items)作为参数。 我用关键字传递参数。 然而,输出似乎有点奇怪,因为作为emp\u name传递的参数被读取为items! 有人能帮我破译这种(看似奇怪的)行为吗
在python中使用*args这样的参数定义函数时,它会将所有未命名的非关键字变量收集到一个名为args的列表中。在python中使用**kwargs这样的参数定义函数时,它会将所有关键字变量收集到名为kwargs的字典中,其中键是变量名,值是值。所以您所做的就是将17.08.2019放入greeting参数,不将任何内容放入emp_names,并将关键字参数放入items。第一个for循环将不起任何作用,因为emp_names是空的。在第二个for循环中,将字典items打印两次
*args
args
**kwargs
kwargs
17.08.2019
greeting
emp_names
items
如果你还不明白的话,用python搜索*args和**kwargs
您将emp_name和items作为命名参数传递,因此它们都包含在**items中*emp_name为空
emp_name
**items
*emp_name
你应该仔细阅读*args和**kwargs
在python中使用
*args
这样的参数定义函数时,它会将所有未命名的非关键字变量收集到一个名为args
的列表中。在python中使用**kwargs
这样的参数定义函数时,它会将所有关键字变量收集到名为kwargs
的字典中,其中键是变量名,值是值。所以您所做的就是将17.08.2019
放入greeting
参数,不将任何内容放入emp_names
,并将关键字参数放入items
。第一个for循环将不起任何作用,因为emp_names
是空的。在第二个for循环中,将字典items
打印两次如果你还不明白的话,用python搜索
*args
和**kwargs
您将
emp_name
和items
作为命名参数传递,因此它们都包含在**items
中*emp_name
为空你应该仔细阅读
*args
和**kwargs
相关问题 更多 >
编程相关推荐