19、python函数的参数默认可变和关键字参数

在这里插入图片描述

在这里插入图片描述

函数参数有几种类型:

- 必选参数
也就是说你如果不传参,它会抛出错误;
- 默认参数 fun(a, b=3)
可以直接给它赋一个默认值,那这个时候调用这个函数的时候,你可以只传一个参数,默认参数不传,但是注意,默认参数后面不能有普通的必选参数,如果你中间是默认参数,你后面再有一个必选参数,那你这个默认参数的意义就不大了,因为你必须得传一个参数,所以它不会有,所以从语法设计上它就限制了你不能这样做。
** - 可变参数 fun(fmt, *args) **
可变参数只能是最后一个参数,因为它是可变参数,如果它在中间,你都不知道哪一个是要传给可变参数,其实对于Python来说,你传多个值,它只是把它们放到一个元组里面,传入进去。

**- 关键字参数 print(fmt, *args, **kw) **

我们可以指定间隔符号,可以指定换行符,都是通过关键字参数传递的,关键字参数必须是在最后一个,也就是说关键字参数还必须得在可变参数的后面,必须是最后一个参数。
可变参数的设定就是加一个*星号在这个可变参数上,关键字参数加两个*星号。
关键字参数其实传过去之后它就是一个Dictionary,就是一个字典,里面有个对应的key:value,通过key:value来取这样一个值。

  • 必选参数和默认参数
    在这里插入图片描述

  • 可变参数:
    在这里插入图片描述

  • 关键字参数
    如果你是通过关键字传递的参数,你是不能确保用户传递的,当然你可以限制他必须传递,但那样的话不就成了必选参数了么,所以你得处理好他不传关键字参数的情况:
    在这里插入图片描述
    报错的原因是,这两条if语句不在函数func4的作用于范围内了,所以需要讲这两条if语句缩进,和func4里面的print对齐,记得if语句里面的print语句也要相应进行缩进!
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值