一、课程内容二、学习目标三、知识点1、函数多个参数的设置及调用2、默认参数3、不定长参数4、匿名函数——lambda四、延伸

一、课程内容

  1. 函数多个参数的设置
  2. 默认参数
  3. 不定长参数
  4. 匿名函数——lambda

 

二、学习目标

  1. 掌握函数多个参数的设置及调用
  2. 掌握默认参数的用法
  3. 了解不定长参数
  4. 了解匿名函数——lambda

 

三、知识点

1、函数多个参数的设置及调用

在python中,给函数设置多个参数,可以直接把参数写入小括号里,参数之间用逗号隔开即可,例如:

 

需要注意的是,调用函数时,传入的实参的顺序和数量,要跟形参的顺序和数量一样

 

 

2、默认参数

默认参数指在定义函数的参数时,给参数赋一个值,来给函数的参数提供一个备选方案。这样,当我们调用函数时,如果忘了传入参数,函数就会使用默认参数进行执行。

例如上节课画多边形的代码,我们可以把默认参数设置为3,这样如果调用时,不传参的话:

 

程序就会直接画出一个三角形:

1551087417562

如果我们传入参数5的话:

 

程序就会画出一个五边形:

1551087533687

需要注意的是,设置默认参数时,默认参数的位置要放在非默认参数后面

 

 

3、不定长参数

在定义函数时,我们经常会遇到不确定参数个数的情况,这个时候,我们要使用不定长参数。

不定长参数有两种:

①*args不定长位置参数

args是参数名字,在参数名字前面加一个“*”,表示不定长位置参数,它会把实参中多余的位置参数放入一个元组中,我们可以来看一个例子:

 

程序的结果会输出:

 

1和2分别赋值给a、b,剩下的参数以元组的形式赋值给args

 

②**kwargs不定长关键字参数(kwargs是任意参数名)

传递实参时,既然会有位置参数,那么肯定可以有关键字参数。

kwargs是任意参数名,在参数名前面加两个“*”,表示不定长关键字参数,它会把实参中多余的关键字参数放到一个字典中。例如:

 

输出结果为:

 

可以看到,多余的关键字参数已经被放在字典中了。

 

4、匿名函数——lambda

在编程时,有时候有一些函数只是临时一用,而且越逻辑也很简单,就可以使用匿名函数。

匿名函数是一种表达式,它的格式是以lambda作为声明,后面接参数,然后是一个冒号分隔开,冒号后面接表达式。例如:

 

这一个就是表示x+y的一个表达式。

匿名函数没有函数名,调用的时候需要把它传给一个变量,然后直接调用这个变量,并在变量后面用括号携带上参数

 

程序会输出:

 

 

四、延伸

当我们为函数设置多个参数时,调用的时候可能会经常因为传入错误的参数顺序而发生错误,这个时候,还有一个方法,就是使用关键字参数作为实参。

看下面这个例子,正常的传参排序应该是姓名、年龄、性别:

 

程序会输出:

 

 

如果使用关键字参数,则可以改变传参的顺序:

 

这里我们第一个实参是性别,第二个实参是年龄,第三个实参是姓名,运行程序,依然会输出: