python函数
函数用于在程序中分离不同的任务;函数允许程序的控制在调用代码和函数代码之间切换
函数功能
(1)实现结构化程序设计。通过把程序分割为不同的功能模块,可以实现自顶向下的结构化设计
(2)减少程序的复杂度。简化程序的结构,提高程序的可阅读性
(3)实现代码的复用。一次定义多次调用,实现代码的可重用性
(4)提高代码的质量。实现分割后子任务的代码相对简单,易于开发、调试、修改和维护
(5)协作开发。大型项目分割成不同的子任务后,团队多人可以分工合作,同时进行协作开发
(6)实现特殊功能。递归函数可以实现许多复杂的算法
函数分类
-
(1)内置函数。Python语言内置了若干常用的函数,例如abs()、len()等等,在程序中可以直接使用
-
(2)标准库函数。Python语言安装程序同时会安装若干标准库,例如math、random等等。通过import语句,可以导入标准库,然后使用其中定义的函数
-
(3)第三方库函数。Python社区提供了许多其他高质量的库,如Python图像库等等。下载安装这些库后,通过import语句,可以导入库,然后使用其中定义的函数
-
(4)用户自定义函数。本章将详细讨论函数的定义和调用方法
函数声明与调用
语法:
def 函数名(参数1,参数2......):
函数体
【例1】函数创建示例1:定义返回两个数平均值的函数
def my_average(number1, number2):
return (number1+number2)/2
【例2】函数创建示例2:定义打印n个星号的无返回值的函数
def print_star(n):
print(("*"*n).center(50)) #打印n个星号,两边填充空格,总宽度50
思考
Q:函数创建示例3:定义计算并返回第n阶调和数(1 + 1/2 + 1/3 + … + 1/n)的函数
R:参考答案:
def harmonic(n): #计算n阶调和数(1 + 1/2 + 1/3 + … + 1/n)
total = 0.0
for i in range(1, n+1):
total += 1.0 / i
return total
函数调用
语法:
函数名([实参列表])
示例:基于思考题声明的函数进行调用
#因为有返回值,所以可以通过声明变量进行赋值或者直接print输出即可
get_result=harmonic(10) #则表示的hi计算1+1/2+......+1/10
print(get_result)
参数的传递
形式参数和实际参数
-
声明函数时所声明的参数,即为形式参数,简称形参
-
调用函数时,提供函数所需要的参数的值,即为实际参数,简称实参
-
【例1】形式参数和实际参数示例(my_max1.py)
def my_max1(a, b): #此处声明的a,b则为形式参数
if a > b: print(a, '>', b)
elif a == b: print(a, '=', b)