hopeless-dream

导航

Python中参数的解构

参数解构

当给函数传参的时候,可以在集合类型前使用*或**,把集合类型的参数解开,提取所有元素作为实参。提取的元素数目要和形参匹配,类型也要匹配

字典类型使用**解构关键字参数,非字典类型使用*解构

 举例说明

def add(x, y):
    ret = x + y
    print(ret)


add(*(4, 5))
add(*[4, 50])
add(*{4, 5})

运行结果

9
54
9

迭代器的解构

def add(*iterable):
    ret = 0
    for x in iterable:
        ret += x
    return ret


print(add(*range(10)))

运行结果

45

字典类型参数的解构

def add(x, y):
    ret = x + y
    print(ret)
d1={'x':4,'y':5}
add(**d1)

错误的解构

def add(x, y):
    ret = x + y
    print(ret)

d2={'x1':4,'y1':5}
add(**d2)

运行结果

TypeError: add() got an unexpected keyword argument 'y1'

 

posted on 2020-10-08 13:45  hopeless-dream  阅读(230)  评论(0编辑  收藏  举报