小说python中的×和

python中应该经常看到*和**,这两个运算符有时可能有点神秘,特别是它们作为前缀运算符时,有时知道就是这么写,但要说清楚为什么这么写,就有些傻傻说不上了。这不是咱们的错,是python把*和**用坏了,为它们赋予了太多用途,本文就小说下,*和**都能做些什么。

本文不讨论*和**作为中缀运算符(算术运算符),也不重点涉及可变参数和关键字参数

一、传递参数

如果要打印list_nums中的每一个元素,这种应该最直接

但如果这样写呢

这就是*在调用函数时,可以将可迭代的参数中所有元素作为独立参数进行函数调用,不用关心实际有多少个参数

仔细体会下这个列子

**运算符也有类似的用法

二、指定关键字参数

定义如下函数:

这样调用函数是不行的

必须指定关键字参数

再看下面这个函数

这样调用也是不行的

必须这样调用(fillvalue关键字参数不能少)

这样就可以强行指定函数中某个位置必须是指定的参数

python内置函数sorted就是使用的此方法

三、元组解包

这样就可以完成类似切片的操作

获取命令行参数也可以这样做了

四、迭代转存

通常会这么写

但+只能操作部分数据类型而且必须是相同类型的对象,*没有任何限制,如下,转存list和一个generatorset

** 也有类似操作

合并两个dict

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181208G1982Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券