Python函数的可变长参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python函数的可变长参数相关的知识,希望对你有一定的参考价值。

# 非关键字可变长参数(元组*args),把N个非关键字参数参数转化为元组。
# 当函数被调用的时候,所有形参(必须的和默认的)都将赋值给函数声明中对应的局部变量,剩下的非关键字参数按顺序插入到一个元组中。
# 可变长参数元组必须在位置参数和默认参数之后。
def func(arg1, arg2 = 9, *args):
    print("arg1: %d" % arg1)
    print("arg2: %d" % arg2)
    for i in args:
        print("another arg: %d" % i)
#func(1, 2)
#func(1, 2, 3, 4, 5)
#func(1, 2, *(3, 4, 5))  # *(3, 4, 5) = tuple(3, 4, 5)

# 关键字可变长参数(字典**kwargs),把N个关键字参数转化为字典。
def func1(name, age=25, **kwargs):
    print(name)
    print(age)
    for key in kwargs:
        print(kwargs[key])

func1(‘Jack‘, 28, sex = "male", job = ‘Engineer‘)

def func2(name, age=13, *args, **kwargs):
    print("name is %s" % name)
    print("age is %d" % age)
    for info in args:
        print("班级信息:%s" % info)
    for key in kwargs:
        print("其他信息:%s" % kwargs[key])

func2(‘xiaoming‘, 12, ‘Class2‘, ‘Grade1‘, job=‘Student‘, score=‘100‘)

# 位置参数必须在关键字参数前面。






















以上是关于Python函数的可变长参数的主要内容,如果未能解决你的问题,请参考以下文章

python可变长参数(非关键字及关键字参数)

[python][oldboy]关键字参数和位置参数,默认参数,可变长参数(无名,有名)

可变长参数(*,**)

Python3 函数基础2

怎么将可变参数的函数的参数传递给另一个可变参数的函数

关于C中可变长参数