Python使用任意数量的关键字实参(79)

有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。

一个这样的示例是创建用户简介:你知道你将收到有关用户的信息,但不确定会是什么样的信息。在下面的示例中,函数build_profile()接受名和姓,同时还接受任意数量的关键字实参。

python大大的图

Python使用任意数量的关键字实参(79)_第1张图片

我的图

Python使用任意数量的关键字实参(79)_第2张图片

形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称-值对都封装到这个字典中。在这个函数中可以像访问其他字典那样访问user_info中的名称-值对。

在build_profile( )的函数体内,我们创建了一个名为profile的空字典,用于存储用户简介。用for循环遍历字典user_info中的键值对,并将每个键值对都加入字典profile中。最后,将字典profile返回函数调用行。

如何传递任意关键字对应的参数到函数

用字典。函数定义时定义一个字典类型参数,形如**user_info。这个参数本身容量不设限,可以接纳任意数量的键值对。

形参带一个*和两个*的区别

形参带一个星号,如*toppings中的星号让Python创建一个名为toppings的空元组。

形参带两个星号,如**user_info中的两个星号让Python创建一个名为user_info的空字典。

你可能感兴趣的:(Python使用任意数量的关键字实参(79))