Skip to main content

Python小技巧 - 函数参数解压

Python小技巧 - 函数参数解压

Python小技巧 - 函数参数解压

函数参数解压

一个非常方便传递参数的功能

看下实例代码

def my_func(a, b, c):
    print(a)
    print(b)
    print(c)
    print(a, b, c)


tuple_value = (1, 2, 3)
dict_value = {'a': 1, 'b': 2, 'c': 3}

my_func(*tuple_value)
my_func(*dict_value)
my_func(**dict_value)

运行后结果如下

1
2
3
1 2 3
a
b
c
a b c
1
2
3
1 2 3

当我们使用字典参数的时候,需要注意的是,字典中必须包含对应的参数key,而且键值个数必须跟参数相对应,键值的前后顺序可以不同

看下面错误的例子

def my_func(a, b, c):
    print(a)
    print(b)
    print(c)
    print(a, b, c)

dict_wrong_1_value = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
dict_wrong_2_value = {'a': 1, 'b': 2, 'd': 4}

my_func(**dict_wrong_1_value)
my_func(**dict_wrong_2_value)

运行后会得到如下的错误

Traceback (most recent call last):
  File "main.py", line 24, in <module>
    my_func(**dict_wrong_1_value)
TypeError: my_func() got an unexpected keyword argument 'd'

 

版权声明

版权声明

张大鹏 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://www.walkerfree.com/),版权所有,侵权必究。本文永久链接:http://www.walkerfree.com/article/213