python中星号的特殊用法:解包和拆包

本文详细介绍了Python中星号(*)的多种用途,包括作为乘法运算符、用于函数参数的打包与拆包等。文章通过实例展示了如何使用单星号和双星号来处理不定数量的参数,并解释了它们在函数定义与调用过程中的作用。


前言

在Python中星号(*)除了作乘法运算,还有什么其他用法呢?在变量前加一个星号和两个星号有什么区别呢?什么是打包和拆包呢?


提示:本文参考了Python中的星号:运算和参数传递

一、星号变量

当函数中传入的参数个数不确定时,考虑在形参变量前加上星号,而对于加一个星号和两个星号的区别在于:

*args传入的参数为非关键字参数,本质上是元祖

*kwargs传入的参数为关键字参数,本质上是字典

二、打包和拆包

对函数传递的参数进行打包指的是将传递给函数的元素打包成元祖或字典,而拆包则是将传递给函数的一个列表,元祖或字典拆解为多个独立的元素

1.打包

单星号(打包成元祖)

代码如下(示例):

def fun_1(a, *b): 
    print(a)
    print(b)


fun_1(1, 2, 3, 4)

结果展示:

1
(2, 3, 4)

双星号(打包成字典)

代码如下(示例):

def fun_1(value1, **b):
    print(value1)
    # print(a)
    print(b)


fun_1(1
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值