Python程序设计案例教程:从入门到机器学习(微课版)
上QQ阅读APP看书,第一时间看更新

2.5 函数

在Python中,将用于实现某种特定功能的若干条语句组合在一起,称为函数。本节将简要介绍Python中的函数定义及使用方法。

2.5.1 函数的定义与调用

1.函数定义的一般形式

函数由关键字def来定义,其一般形式为:

其中,参数可以为空。当有多个参数时,参数之间用逗号“,”分隔。当函数无返回值,可以省略return语句。

【例2-15】创建一个名为Hello的函数,其作用为输出“欢迎进入Python世界”的字符内容。

创建该函数的程序段如下:

在程序中调用Hello()函数,将显示“欢迎进入Python世界”的字符内容。

【例2-16】创建一个名为sum()的函数,其作用为计算n以内的整数之和(包含n)。

下面为实现计算n以内的整数之和的函数程序段:

2.函数的调用

在Python中,直接使用函数名调用函数。如果定义的函数包含参数,则调用函数时也必须使用参数。

【例2-17】创建显示如下排列字符的函数,并编写程序调用该函数。

程序代码如下:

将程序保存为ex2_17.py。

运行程序:

     python ex2_17.py

程序运行结果如下:

【例2-18】应用函数,计算1~100的和。

程序代码如下:

将程序保存为ex2_18.py。

运行程序:

     python ex2_18.py

程序运行结果如下:

     5050

2.5.2 局部变量与全局变量

在函数体内部定义的变量或函数参数称为局部变量,该变量只在该函数内部有效。在函数体外部定义的变量称为全局变量,全局变量在变量定义后的代码中都有效。当全局变量与局部变量同名时,则在定义局部变量的函数中,全局变量被屏蔽,只有局部变量有效。

全局变量在使用前要先用关键字global声明。

【例2-19】全局变量与局部变量同名的示例。

程序代码如下:

将程序保存为ex2_19.py。

运行程序:

     python ex2_19.py

程序运行结果如下:

     局部变量x = 30
     全局变量x = 10

2.5.3 常用内置函数

Python内置函数是python系统内部创建的,在Python的程序中,可以随时调用这些函数,不需要另外定义。

例如,最常见的print()是内置函数,在程序中直接使用:

     print("Hello World!")

而平方根函数sqrt()不是内置函数,使用该函数时需要引用math模块:

     import math
     y = math.sqrt(25)

Python常用内置函数如表2.3所示。

表2.3 常用内置函数

【例2-20】数学运算函数示例。

程序代码如下:

将程序保存为ex2_20.py。

运行程序:

     python ex2_20.py

程序运行结果如下:

2.5.4 匿名函数lambda

在Python中,可以使用匿名函数。匿名函数即没有函数名的函数。

通常,用lambda声明匿名函数。

例如,计算两个数的和,可以写成:

     add = lambda x, y : x+y
     print(add(1,2))

输出的结果为3。

从上面示例可以看到,lambda表达式的计算结果相当于函数的返回值。

【例2-21】用lambda表达式,求三个数的和。

程序代码如下:

将程序保存为ex2_21.py。

运行程序:

     python ex2_21.py

程序的运行结果如下:

     60
     4 8 16