Python编程基础(第3版)(微课版)课件 5.1 自定义函数(一).pptx
自定义函数;;Python提供了自定义函数的功能。使用def关键字可以自定义函数,格式如下。;函数定义示例如代码如下。;;在Python中,函数参数主要有以下4种。
(1)位置参数。调用函数时,根据函数定义的位置参数来传递参数。
(2)关键字参数。关键字参数通过“键-值”形式加以指定,可以让函数更加清晰、容易使用,同时也消除了参数的顺序要求。
(3)默认参数。定义函数时为参数提供了默认值的参数称为默认参数。在调用函数时,默认参数的值可传可不传。需要注意的是,所有的位置参数必须出现在默认参数前。
(4)可变参数。当定义函数时,有时候不确定之后调用时会传递多少个参数(也可以不传参数)。此时,可使用定义任意位置参数或关键字参数的方法来进行参数传递。;在调用内置函数时,函数提供了默认参数。下面定义一个计算利息的函数,示例如下。;定义函数时需要确定函数的参数个数,参数个数表示函数可调用的参数个数的上限。
当定义函数时,如果无法确定参数个数,可以使用*args和**kwargs定义可变参数。
在定义任意数量的位置可变参数时,参数名前面需要有一个星号(*)作为前缀,在传递参数的时候,可以在原有的参数后面添加0个或多个参数,这些参数将会被放在元组中并传入函数。
任意数量的位置可变参数必须定义在位置参数或关键字参数之后,示例代码如下。;defexp(x,y,*args):
...print(x:,x)
...print(y:,y)
...print(args:,args)
exp(1,5,66,55,abc)
x:1
y:5
args:(66,55,abc);在定义任意数量的关键字可变参数时,参数名前面需要有两个星号(**)作为前缀。
在传递参数时,可以在原有的参数后面添加任意数量的关键字可变参数,这些参数会被放到字典中并传入函数,示例代码如下。
任意数量的关键字可变参数必须在所有默认参数之后,顺序不可以调转。;3.任意数量的关键字可变参数;;函数可以处理一些数据,并返回一个或一组值。
函数返回的值称为返回值。
需要保存或调用函数的返回值,那么需要使用return语句,示例代码如下。;函数返回值;;位置参数调用是最常用的函数调用方式,函数的参数严格按照函数定义时的位置传入,顺序不可以调换,否则会影响输出结果或直接报错。
例如,range函数定义的3个参数start、stop、step需按照顺序传入,示例代码如下:;当函数的参数有默认值时,可以不设置相应的函数参数,因为此时的函数会使用默认参数,代码如下。;除了可以使用位置参数对函数进行调用外,还可以使用关键字参数对函数进行调用。
当使用关键字参数时,可以不严格按照定义参数时参数的顺序传入值,因为解释器会自动根据关键字进行匹配,示例代码如下。;关键字参数也可以与位置参数混用。
关键字参数必须跟在位置参数后面,否则会报错,示例代码如下。;使用*args位置可变参数可以直接将元组或列表转换为参数,然后传入函数,示例代码如下。;3.可变参数调用