美文网首页
python入门与进阶(8-7)

python入门与进阶(8-7)

作者: buaishengqi | 来源:发表于2018-04-27 15:08 被阅读4203次

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段代码带来的结果


1524812427520.jpg 1524812591241.jpg 1524812706137.jpg

相关文章

网友评论

      本文标题:python入门与进阶(8-7)

      本文链接:https://www.haomeiwen.com/subject/zmiblftx.html