Python 变量教程打包和解包参数
前言:
我们使用两个运算符 *(用于元组)和 **(用于字典)。
背景
考虑这样一种情况,我们有一个接收四个参数的函数。我们想调用这个函数,我们有一个大小为 4 的列表,其中包含函数的所有参数。如果我们只是将一个列表传递给函数,则调用不起作用。
一个演示打包和解包需求的 Python 程序
一个接受 4 个参数并打印它们的示例函数。
def fun(a, b, c, d):
print(a, b, c, d)
驱动程序代码
my_list = [1, 2, 3, 4]
这不起作用
fun(my_list)
输出 :
TypeError: fun() takes exactly 4 arguments (1 given)
解
包我们可以使用 ***** 来解包列表,以便它的所有元素都可以作为不同的参数传递。
一个带有 4 个参数并打印的示例函数,
def fun(a, b, c, d):
print(a, b, c, d)
驱动程序代码
my_list = [1, 2, 3, 4]
将列表解压缩为四个参数
fun(*my_list)
输出 :
(1, 2, 3, 4)
我们需要记住,参数的数量必须与我们为参数解包的列表的长度相同。