有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。
一个这样的示例是创建用户简介:你知道你将收到有关用户的信息,但不确定会是什么样的信息。在下面的示例中,函数build_profile()接受名和姓,同时还接受任意数量的关键字实参。
python大大的图
我的图
形参**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的空字典。
网友评论