python缺省参数_Python参数 (2020/9/10)

小言

今天学到的几个基础知识很好的理解python的代码

1)缺省参数        2)多值参数        3)元组和字典拆包

知识点

1)缺省参数

# 默认的缺省参数都是在末尾的

# 有多个缺省参数时在调用参数的时,需要给一个具体的参数名。

def demo(name, title="", gender=True)

pass

gl_name = "Murphy"

demo(gl_name, gender=False)

2) 多值参数

# 有时候可能需要 一个函数 能够处理的 个数 是不确定的,这个时候,就可以使用 多值参数

# python中有两种多值参数

# 参数名前增加一个 * 可以接收  元组 ()

# 参数名前增加两个 ** 可以接收 字典 {}

# 一般在给多值参数命名的时候,习惯使用以下两个名字

#  *args  存放 元组 参数,前面有一个 *

#  **kwargs  存放 字典 参数,前面有两个 **

# args 是 arguments的缩写,有变量的含义

# kwargs  kw 是keyword。字典里有键值对,有键值对参数

def demo(args, *args, **args)

pass

demo(1, 2, 3, 'www', name="Murphy")

>>>args : 1

>>>*args : (2,3,'www')

>>>**args : {'name': 'Murphy'}

3)元组和字典拆包

#  3.1 问题

# 在调用带有多值参数的函数时,如果希望:

#    将一个 元组 变量,直接传递给 args

#    将一个 字典 变量,直接传递给 kwargs

# 就可以使用 拆包 ,简化参数的传递, 拆包的方式是:

#    在 元组变量 前,增加一个 *

#    在 字典变量 前,增加两个 **

def demo(*args, **kwargs):

pass

gl_num = (1, 2, 3)

gl_list = {'name': '小吴', 'age': 24}

demo(gl_num, gl_list)

上段代码打印的结果全给了args元组变量为:((1, 2, 3), {'name': '小吴', 'age': 24})    {}

# 3.2 解决

# # # 拆包语法 ,简化 元组变量 / 字典变量的传递

# 在 元组变量 前,增加一个 *

# 在 字典变量 前,增加两个 **

demo(*gl_num, **gl_list)    等价于 demo(1, 2, 3, name='小吴', age=24)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值