本文给大家讲解函数关键字、参数、默认值。
关键字参数
在传参数的时候,位置有很大的影响,如上,3对应的是price,那我们能不能改改呢?就是让位置没有关系呢?如果我的参数比较多,而且在代码块里边呢,我也不想去考虑代码块里面怎么实现的。那明白这个参数表达什么意思,能不能把它优化?就说在函数里边,这两个参数的位置,怎么摆放不关心,但是结果的还是32,该怎么去做呢? price等于3,然后tax_rate等于8,运行。结果还是32,所以说前面参数的形式,叫做位置参数儿,这种,把它叫做关键字参数,直接在我的调用函数的时候,把参数的值,跟这个参数名一一对应上就实现了。更多示例参考:
默认参数
默认参数也是关键字参数的重要用途。 注意:尽量避免混合使用位置参数与关键字参数
关键字参数对应的有一个叫做默认参数,什么叫默认参数呢?就是定义函数的时候,给参数赋予初始值,在调用函数的时候可以不给参数赋值,他就使用它的默认值。
如上实例,定义caculateText时候,让price=3,tex_rate=8这就叫做默认参数,我已经给参数赋了初始值了,然后,调用的时候,不用填写任何参数,这样就把它简化了。这个时候,调用calculateTax方法,然后打印结果,与calculateTax(3, 8)的结果是一样的。可以不传入参数,也可以传入部分参数:
将第一个参数传入4,结果为40,如果继续传入第二个参数,分别为4和9,结果为45,这就是默认值的效果了。可以看出来,有默认值之后,部分参数就可以不用传入,使用默认值就可以了。在参数多的时候,这个就很有用。
收集参数
收集参数的作用是什么?当不确定参数的具体数量时,可以通过*来收集参数。
就是说不确定参数的个数时,就使用*来进行替代。收集参数,使用星号。
我们看括号里边,有一个逗号,*参数是元组。元组不可修改的列表,这就意味着星号里面的参数只能读取,不能修改。星号参数不知道要放几个,放了一个,三个,都是以元组的形式返回到函数中。通过print可以将全部内容打印出来。如上代码,在调用这个函数的时候,传入name为leo,其他的依次传入,打印结果如上,bela,12,hello三个参数都按顺序传递给了函数,剩下的就可以自己来解析这个元组,获取具体值。