python中元组的解包用法,以及 *在方法中的使用方法

下面是关于python中*的用法详解

1. *做法乘法运算符

在python中,*作为乘法运算符是使用,用来进行两个数的乘法运算。示例代码:

a=3
b=4
c=a*b
print(c)  #12

 

2.*作为 函数的可变参数(是元组的形式导入)

单星号(*):*args。将所有参数以元组(tuple)的形式导入

双星号(**):**kwargs。将参数以字典的形式导入

在python函数定义中,可以使用*来代表 可变参数。表示: 函数可以接受任意多个参数。

def func(*args):
print(args) #元组
for data in args: print(data) fun(1,2,3,4,5) #输出
(1,2,3,4)
1 2 3 4 5

3. **两个*号,作为任意多个字典参数

双星号(**):**kwargs。将参数以字典的形式导入


def func(**args):
print(args)
for data in args:
print(data)
for key,value in args.items():
print("key:{0}-> value:{1}".format(key,value))
print("---------------------")
for key, value in args.items():
print("key:%s-> value:%s"%(key, value))

#结果

{'a': 1, 'b': 2}
a
b
key:a-> value:1
key:b-> value:2
---------------------
key:a-> value:1
key:b-> value:2

 4. * 的作为关键字参数

在函数定义时,可以使用来定义关键字参数。关键字参数必须放在后面。示例代码如下:

def func(a, b, *, c):
    print(a, b, c)

func(1, 2, c=3) # 输出:1 2 3

上面这个例子中,函数func定义了两个只接受位置参数的参数a、b,以及一个只接受关键字参数的参数c。当调用时使用了关键字参数c=3,a和b则使用位置参数1和2。

 

5.* 的作为元组拆包语法

在赋值或者函数调用时,可以使用*对元组进行拆包。示例代码如下:

a = (1, 2)
b = (3, 4)
c = (*a, *b) # c的值为(1, 2, 3, 4),元组拆包
print(c)

def func(a, b):
    print(a, b)

args = (1, 2)
func(*args) # 等价于 func(1, 2)元组拆包

上面这个例子中,变量c使用了*语法对元组a、b进行了拆包,生成了一个新的元组c。而对于函数调用来说,特别是参数较多的情况下,使用元组拆包能让代码更简洁。

总结一下,Python中*具有以下用法:

  • 作为乘法运算符
  • 作为可变参数
  • 作为关键字参数
  • 作为元组拆包语法

 

posted @ 2023-09-08 12:07  苹果芒  阅读(99)  评论(0编辑  收藏  举报