欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python可变参数*args和*kwargs介绍

程序员文章站 2022-05-29 13:18:23
1. *args表示非关键字参数 def demo_1(*args): print(args) demo_1(1,2,3) 函数的输出为: (1, 2,...

1. *args表示非关键字参数

def demo_1(*args):
    print(args)
demo_1(1,2,3)

函数的输出为:

(1, 2, 3)

可以看出args表示的是一个元组

其简单应用可以看下例:

def test_var(formalarg,*args):
         print("formal_arg:",formalarg)
         for arg in args:
        print("var_arg:",arg)
test_var(1,2,3,4)

输出的结果为:

formal_arg: 1
var_arg: 2
var_arg: 3
var_arg: 4

2. **kwargs表示非关键字参数

def demo_2(**kwargs):
    print(kwargs)
demo_2(k=1,w=2)

函数的输出为:

{'k': 1, 'w': 2}
可以看出kwargs表示的是一个字典

其简单应用如下例:

def test_var(formalarg,**kwargs):
    print("formal_arg:",formalarg)
    for k,v in kwargs.items():
        print("%s=>%s"%(k,v))
test_var(1,a=1,b=2,c=3)

输出为:

formal_arg: 1
a=>1
b=>2
c=>3

3. 变长参数还可以在函数调用的时候使用

如下例:

def test_var_args_call(arg0,arg1, arg2, arg3):
    print("arg0:",arg0)
    print("arg1:", arg1)
    print("arg2:", arg2)
    print("arg3:", arg3)
args=(1,2)
kwargs={"arg3":3}
test_var_args_call(0,*args,**kwargs)

输出为:

arg0: 0
arg1: 1
arg2: 2
arg3: 3