首页 > 技术文章 > python:*args和**kwargs的用法

Mr-choa 2020-04-04 14:14 原文

1、*args用来将参数打包成tuple给函数体调用

代码:

# *args用来将参数打包成tuple给函数体调用
def func(*args):
    print(args,type(args))
func()

# *args用来将参数打包成tuple给函数体调用
def func02(x,y,*args):
    print(x,y,args,type(args))
func02(1,2,3,4,5,6)

结果:

() <class 'tuple'>
1 2 (3, 4, 5, 6) <class 'tuple'>

2、**kwargs打包关键字参数,变成dict给函数体用

代码:

# **kwargs打包关键字参数成dict给函数体调用
def func03(**kwargs):
    print(kwargs,type(kwargs))
func03(a=3)

def func04(arg,*args,**kwargs):
    print(arg,args,kwargs)
func04(1,2,3,4,5,a=6,b=7,c=8)

结果:

{'a': 3} <class 'dict'>
1 (2, 3, 4, 5) {'a': 6, 'b': 7, 'c': 8}

 

推荐阅读