掌握Python的X篇_20_默认参、字典的展开

1. 默认参数

我们可以通过“="为形参指定默认值,这样函数调用过程中如果不传对应实参,就会使用默认值

  • 在不给任何实参的情况下
def add(x=100,y=300):
    return x + y

print(add())

运行结果:400

  • 在给实参的情况下
def add(x=100,y=300):
    return x + y

print(add(4,6))

运行结果:10

  • 少传一个的情况下,向左匹配
def add(x=100,y=300):
    return x + y

print(add(6))

运行结果:306

2. 指定实参值对应的形参

在函数调用过程中,我们可以通过

<形参名字>=<>

的方式传递实参,这样就可以跳过其他参数,不按形参顺序传参

def add(x=100,y=300):
    return x + y

print(add(y=2000))

运行结果:2100

3. 接受任意多个key-value方式的参数

我们可以通过使用“**”修饰形参,这样,可以接受任意多个key-value键值对方式的实参。
所有的通过指定形参名传递的参数,会被封装为字典。

def fun(**args):
    print(args)

fun(k1="value1",k2="value2",k3="value3")

运行结果:{'k1': 'value1', 'k2': 'value2', 'k3': 'value3'}

4. 字典展开为key-value键值对的多个参数

我们可以将多个key-value键值对存放在字典中,然后使用“**”进行展开

不使用“**”的情况下回报错

def fun(**args):
    print(args)
mydict = {"k1" :"value1","k2":"value2","k3":"value3"}
fun(mydict)

报错:

Traceback (most recent call last):
  File "e:/MyselfCode/ShellMad/Python/fistpy.py", line 4, in <module>
    fun(mydict)
TypeError: fun() takes 0 positional arguments but 1 was given      

这是因为mydict在未展开的情况下,只是一个参数,不能被当做键值对。

因此可以通过“**”进行展开

def fun(**args):
    print(args)
mydict = {"k1" :"value1","k2":"value2","k3":"value3"}
fun(**mydict)

运行结果:

{'k1': 'value1', 'k2': 'value2', 'k3': 'value3'}

5. 学习视频地址:默认参、字典的展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值