Python— * 和 ** 的区别和作用

以下内容主要摘自:        

https://blog.csdn.net/yilovexing/article/details/80577510 (* 和 **区别)

https://blog.csdn.net/yilovexing/article/details/80576788(序列解包)

(1)算数运算

         * 乘法                       **  乘方 等同于 pow(a,b)

a,b = 2,3
print(a*b)  # 6
print(a**b) # 8

(2)函数形参

       *args 表示任何多个无名参数,把接收到的参数形成一个元组,本质是一个 tuple

       **kwargs 表示关键字参数,它本质上是一个 dict

       同时使用 *args 和 **kwargs 时,必须 *args 参数列要在 **kwargs 之前

(3)函数实参

       若函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用。

(4)序列解包

         序列解包只有*,**没有这个作用。(序列解包是 Python 3.0 之后才有的语法)

         序列解包的就是问题方便处理,在多重赋值时,用于接收的变量数不等于list等赋值时候可以用。

a,b,*c = [1,2,3,4]

'''
a=1,b=2,c=[3,4]'''

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值