python学习三十八(可变参数值列表拆装)

可变参数值列表拆装包

def func(a,b=12,c=3,**kwargs):#有关键字的
默认值
    print(a,b,c,kwargs)


func(1)#有关键字的默认值可以不用传参
func(2,b=10)#传参使用了b传值,因此覆盖默认值
func(2,e=1)
func(3,5,6,a=1,b=2)#参数取名不能与函数定义过的一样会报错fun
func(3,c=2,b=5,f=2)

结果为:

5 (6, (4, 5, 6), 7)
1 12 3 {}
2 10 3 {}
2 12 3 {'e': 1}
3 5 2 {'f': 2}

如果想把列表不是作为整体传入元组可变参数,而是拆分开传入元组,可以在列表变量前加上*即可,

def func(a,*args):
    print(a,args)
l=[1,2,3]

func(2,3,*l)

结果为:

2 (3, 1, 2, 3)
def func(name,*kwargs):
    if len(kwargs) > 0:
        for i in kwargs:
            print('{}学过{}'.format(name,i))
    else:
        print('没有学过任何编程知识')

course=['数学','语文','英语']
func('zhouwei',*course)
zhouwei学过数学
zhouwei学过语文
zhouwei学过英语

总结

无参数函数:

def func():
pass

func() ---->调用

有参数函数

普通参数

def func(name,age):
pass

dunc(‘aa’,18) ---->形参和实参的个数要一致

可变参数

A、def func(args):
pass

func() ---->函数调用时,实参的个数可以没有,也可以多个 *不能是关键字参数

B、der func(**kwargs)#关键字参数
pass

func(key=value)

C、def func(*args,**kwargs)
pass

list1=[1,3]
dict1={'1':'a','2':'b'}
func(*list1,**dict1)

D、可变参数应该放在普通参数后面。

默认值参数

def func(name,age=18)
pass

func(‘tom’) —>tom 18#默认值可以不用传参

func(‘jim’,age=19) —>jim 19#默认值可以重新覆盖值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值