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

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

一个这样的示例是创建用户简介:你知道你将收到有关用户的信息,但不确定会是什么样的信息。在下面的示例中,函数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的空字典。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8.5.2使用任意数量的关键字实参 作业: 有时候,需要接受任意数量的实参,但预先不知道传递给函数...
    陈容喜阅读 627评论 0 0
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,575评论 6 427
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 娥灵散鬓欲抽簪, 淡沲春光至岁阑。 雨打竹溪歌六逸, 高躅林暮却尘鞅。 阿夏—诗外话:我曾有个期望,在一个暮春的晚...
    青山过红尘阅读 224评论 0 2
  • 飞 有一个梦 梦里我会飞 开心时 振翅遨游 忧伤时 迂回盘旋 从城市飞回农村 那里有老父亲的期盼 从这里飞到远方 ...
    teabean阅读 94评论 0 1