7.3.4 将序列作为函数的参数值
函数参数值可以是任何数据类型,自然也包括序列(元组、列表、字典等)。不过现在讲的并不是直接将序列作为单个的参数值传入函数,而是将序列中的每个元素单独作为函数的参数值,相当于把序列拆开进行传值。现在先看看下面的代码。
def printparams(s1,s2):
print(s1,s2)
printparams('hello','world')
list = ['hello','world']
# 将列表或元组中的元素作为当参数值传递为printparams函数,需要在实参前面加星号(*)
printparams(*list)
输出结果:
hello world
hello world
从上面的代码可以看出,如果想要将列表中的元素作为单个参数值传给函数,需要在列表前面加星号(*)
。
在上面的代码中,printparams函数并未使用可变参数,如果使用可变参数,也可以通过列表或元组参数传值。
def printparams(*ss):
for s in ss:
print('<{}>'.format(s),end = ' ')
list = ['hello','world']
printparams(*list)
print()
# 将字符串作为一个序列传入printparams函数
printparams(*'abcdefg