Featured image of post Python小技巧 - 函数参数解压

Python小技巧 - 函数参数解压

函数参数解压

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

看下实例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

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
 4
 5
 6
 7
 8
 9
10
11
12
13

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

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

看下面错误的例子

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

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)

运行后会得到如下的错误

1
2
3
4
5

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'
Licensed under CC BY-NC-SA 4.0
最后更新于 Jul 30, 2025 10:40 +0800