python函数参数列表_缺省参数&不定长参数

def print_value(a,b,c=12,*args,**kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)
    print("="*30)
    
#必需参数:必需参数以正确的顺序传入参数,调用时的数量必需和声明时一样
print_value(10,20) #验证默认的参数传入值
#关键字参数:参数不需要按照顺序传入参数,调用函数时带上形参的关键字,定义时使用**kwargs
print_value(b=10,a=20) #验证不给默认参数传入值
#默认参数:直接给形参赋默认值,如果需要修改默认值再改变
print_value(10,20,c=25)#验证改变默认的参数的值
print_value(a=10,b=20,c=25)#验证改变默认的参数的值
"""
如果函数参数列表中既存在缺省参数,又存在不定长参数:
    1、当调用函数时,传入的参数个数小于或者等于必须参数与默认参数的个数时,可以
    使用以下三种方式传入参数:
        1.1 必需参数:必需参数以正确的顺序传入参数,调用时的数量必需和声明时一样
        1.2 关键字参数:参数不需要按照顺序传入参数,调用函数时必须带上形参的关键字
        1.3 默认参数:直接给形参赋默认值,如果需要修改默认值再改变
    2、当调用函数时,传入的参数个数大于必须参数与默认参数的个数时:
        2.1 默认参数必须传入相应的值,否则报错
        2.2 多余的非关键字参数,函数调用时会放在元组参数args中
        2.3 多余的关键字参数,以键值对形式存在,函数调用时会放在字典参数kwargs中
"""
"""
不定长参数:
    1、在函数参数列表中,参数前增加一个*,可以接收元组
    2、在函数参数列表中,参数前增加两个*,可以接收字典
    3、多余的非关键字参数,函数调用时会放在元组参数args中
    4、多余的关键字参数,函数调用时会放在字典参数kwargs中
"""
print_value(10,20,30,40,50,60)
print_value(1,2,3,4,5,name="Tom",age=18)
"""
**不定长参数列表拆包过程:**
如果需要向函数不定长参数列表中传入列表或者字典:
    1、存放列表的参数前需要加*
    2、存放字典的参数前需要加**
"""
A_List = ["a","b","c"]
B_Dict = {"name":"Rose","gender":True}
print_value(1,32,22,A_List,B_Dict)
print_value(1,32,22,*A_List,**B_Dict)

"""
注意:
1、带有默认值的参数一定位于参数列表的最后面,当存在多个
缺省参数的函数被调用时,可以单独指定某个缺省参数的值
2、如果参数中既有列表型参数或元组型参数(带*的参数)也有字典型
参数(带**号的参数),则带*的参数应该写在带**号的参数的前面
"""


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值