函数的不定长参数

1、对于在定义函数时设置了参数的情况,如参数的量较少,还能一个个输入,就如函数笔记内的例子。但当我们需要输入大量的,或是数量不固定的参数时,就需要不定长参数的帮助

2、函数的不定长参数分为:不定长位置参数、不定长关键字参数

3、不定长位置参数:在定义函数时,在括号内输入 *args。其中星号必须输入,而args则是参数名,可以用其他字符替代,但更推荐不要改

def func(*args):
    print(args)

func(1,2,3)

在调用func()函数时,参数位置可以填写任意数据,不必受参数位置等的影响。上方程序输出的结果为(1, 2, 3),类型为元组

4、注意:不定长位置参数不接受关键字传参

5、关键字不定长参数:在定义函数时,在括号内输入**kwargs。其中两个星号必须输入,kwargs同样只是一个名称,虽然可以替换,但仍建议不要换

def func(**kwargs):
    print(kwargs)

func(name='zs',age=18)

在调用函数时,关键字无需加引号。上方代码输出的结果为{‘name’: ‘zs’, ‘age’: 18},类型为字典

6、注意:关键字不定长参数不接受位置传参

7、函数嵌套分为两种:在函数内定义另一个函数、在函数内调用另一个函数

def func(**kwargs):
    print(kwargs)
    test(**kwargs)

def test(**kwargs):
    print(kwargs)

func(a=1,b=2)

此处需注意代码的执行顺序。
首先,代码从上往下走,定义了函数func(**kwargs)和test(**kwargs);
然后,调用函数func(),并进行传值,func()函数打印出{‘a’: 1, ‘b’: 2}
接着,打印完之后走到func()函数内的test()函数,开始调用test()函数
由于已经从func()函数处获得参数,test()函数执行时,打印出第二个{‘a’: 1, ‘b’: 2}
至此完成输出

8、在判断这类较复杂的运行顺序时,我们可以用断点debug,或是在每块代码后加入一个输出,来查看运行时的顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值