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函数的可变长参数的主要内容,如果未能解决你的问题,请参考以下文章