python函数定义时带号的可变参数_python函数的参数之默认参数、可变参数、组合参数...

目录

默认参数

可变参数

组合参数

默认参数

指函数调用前代码块中就已经存在的参数。

调用函数时,如果没有传递参数,就会被程序使用默认参数。

例如:

065565ea7ea74c23a2eff9b2b5b9228b.jpg

运行结果:

1da24f6306d74a31880d9bb9132103bb.png

以上例子,没有对age赋值,在输出结果中使用了函数定义时的默认值。若对age赋值,重新调用上面的函数:

99fd661b884e4b4cb0a75a38b301c8b1.jpg

运行结果:

33a85530626742189a8d7fa4e99e2736.jpg

执行结果使用的是我们传入的参数。

所以,

当对默认参数传值时,函数执行时调用的是我们传入的值。

特点:

(1)无论有多少默认参数,默认参数都只能在必须参数之后。

(2)无论有多少默认参数,若不传入默认参数值,则使用默认值。

(3)若要更改某一个默认参数值,又不想传入其他默认参数,且该默认参数的位置不是第一个,则可以通过参数名更改想要更改的默认参数值。

(4)若有一个默认参数通过传入参数名更改参数值,则其他想要更改的默认参数都需要传入参数名更改参数值,否则报错。

(5)更改默认参数值时,传入默认参数的顺序可以不和定义的函数中的默认参数的顺序一致。

可变参数

使所定义的函数参数数量可变。这些参数叫作可变参数。

例如:

6c66bf2abda24cc194979ce7a9a0550a.jpg

运行结果:

e08b938e431d40e5a7a279526fe254c1.jpg

当我们声明一个诸如 *param 的星号参数时,从此处开始直到结束的所有位置参数都将被收集并汇集成一个称为“param”的元组(Tuple)。

当我们声明一个诸如 **param 的双星号参数时,从此处开始直至结束的所有关键字参数都将被收集并汇集成一个名为 param 的字典(dict)。

组合参数

Python中定义函数可以用必须参数、关键字参数、默认参数和可变关键字参数,这4种参数可以组合使用。注意定义参数的顺序必须是必须参数、默认参数、可变参数和关键字参数。

例如:

535358ef005440b494a9254072b75a84.jpg

运行结果:

665626466bb841f584851db267b798d6.jpg

使用组合参数,在调用函数时,Python解释器会自动按照参数位置和参数名把对应的参数传进去。

用tuple和dict调用上述函数

例如:

41cbedd433b14378bc0627f74995cffe.jpg

运行结果:

1983906412954e5abcf86477934833be.jpg

所以,任意函数都可以通过类似func(*args,**xc)的形式调用,无论参数是如何定义的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值