8-7 可变参数
def demo(*param):# * 是用来定义一个可变参数的列表
print(param)
print(type(param))
demo(1,2,3,4,5,6,7,8)
# 如果想直接传递一个元组怎么办?demo((1,2,3,4,5,6,7,8))这个方法是错误的,打印结果是二维元组
# 看看正确的打开方式
def demo(*param):# * 是用来定义一个可变参数的列表
print(param)
print(type(param))
a = (1,2,3,4,5,6,7,8)
demo(*a) #不能直接传a,直接传a就是二维元组,所以在a前面要加上一个*
# *a 的作用就是a元组里面的每一个元素平铺出来,传递到可变参数的函数里面
# 可变参数也可以和必须参数混合使用,但是必须参数必须放在可变参数前面,默认参数也是这样
# 看看下面的例子
def demo(param1,param2=2,*param):
print(param1)
print(param2)
print(param)
demo('a',1,2,3)
def demo(param1,*param,param2=2):
print(param1)
print(param)
print(param2)
demo('a',1,2,3,'param')
def demo(param1,*param,param2=2):
print(param1)
print(param)
print(param2)
demo('a',1,2,3,param2='param')
看看最后3段代码带来的结果



网友评论