上一章介绍了字符串,本章详细介绍函数。在Python中,函数是一个可以重复使用的代码块,它只在被调用时运行。函数可以帮助我们组织和简化代码。你可以使用 def 关键字来定义函数。


自定义函数的语法格式如下:
以英文半角冒号结尾



例代码如下:

在定义好函数后,就可以调用函数了,很简单!
在调用函数时传递的实参与定义函数时的形参顺序一致,这是调用函数的基本形式。

通过Python指令运行文件:

在调用函数时可以采用“关键字=实参”的形式,其中,关键字的名称就是定义函数时形参的名称。

通过Python指令运行文件:


通过Python指令运行文件:


*可变参数在函数中被组装成一个元组。
示例代码如下:

通过Python指令运行文件:

**可变参数在函数中被组装成一个字典。
示例代码如下:

通过Python指令运行文件:

变量可以在模块中创建,作用域(变量的有效范围)是整个模块,被称为全局变量。变量也可以在函数中创建,在默认情况下作用域是整个函数,被称为局部变量。


示例代码如下:

通过Python指令运行文件,输出结果:


修改示例代码如下:

通过Python指令运行文件,输出结果:

Python中的任意一个函数都有数据类型,这种数据类型是function,被称为函数类型。
函数类型的数据与其他类型的数据是一样的,任意类型的数据都可以作为函数返回值使用,还可以作为函数参数使用。因此,一个函数可以作为另一个函数返回值使用,也可以作为另一个函数参数使用。


示例代码如下:

通过Python指令运行文件,输出结果:

增加平方函数,示例代码如下:

add()和sub()函数有两个数字参数,具有相同的函数类型。square()函数只有一个数字参数,所以square()与add()、sub()函数的类型不同。
在Python中定义了一些用于数据处理的函数,如filter()和map()等。我们先介绍filter()函数。
filter()函数用于对容器中的元素进行过滤处理。

filter()函数的语法如下:

参数function是一个提供过滤条件的函数,返回布尔值。
参数iterable是容器类型的数据。

示例代码如下:

通过Python指令运行文件,输出结果:


map()函数用于对容器中的元素进行映射(或变换)。例如:我想将列表中的所有元素都乘以2,返回新的列表。

map()函数的语法如下:

参数function是一个提供变换规则的函数,返回变换之后的元素。
参数iterable是容器类型的数据。
示例代码如下:


通过Python指令运行文件,输出结果:

我们之前学习的函数都是有名称的函数,例如在8.1节定义的rect_area()函数,rect_area就是其函数名。我们也可以定义匿名函数,匿名函数就是没有名称的函数。
在Python中使用lambda关键字定义匿名函数。lambda关键字定义的函数也被称为lambda()函数,定义lambda()函数的语法如下。
“参数列表”与函数的参数列表是一样的,但不需要用小括号括起来


lambda()函数与有名称的函数一样,都是函数类型,所以8.6.1节的add()和sub()函数可以被lambda()函数替代。修改8.6.1节的代码示例如下:



参考代码如下:

使用lambda()函数替换f1()函数:

1 通过以下函数sum()定义代码,调用语句正确的是()。
def sum(*numbers):
total=0.0
for number in numbers:
total+=number
return total
A.print(sum(100.0,20.0,30.0))
B.print(sum(30.0,80.0))
C.print(sum(30.0,‘80’))
D.print(sum(30.0,80.0,‘80’))
2 通过以下函数area()定义代码,调用语句正确的是()。
def area(width,height):
return width*height
A.area(320.0,480.0)
B.area(width=320.0,height=480.0)
C.area(height=480.0,width=320.0)
D.area(320.0,‘480’)
3 填空题:请在以下代码横线处填写一些代码,使之获得期望的输出结果。
x=200
def print_value():
____x
x=100
print("函数中x={0}".format(x))
print_value()print("全局变量x={0}".format(x))
输出结果:
函数中x=100
全局变量x=100
4 判断对错:(请在括号内打√或×,√表示正确,×表示错误)。
1)Python支持函数重载。()
2)map()函数用于对容器中的元素进行变换。()
以下是Python中函数的一些主要特点和概念:
def 关键字定义函数,例如:def greet():
print("Hello, World!")
def greet(name='World'):
print("Hello, " + name + "!")
*args 和 **kwargs 来处理可变数量的非关键字参数和关键字参数。return 语句返回一个值,这是函数的输出。