复习:选择和循环是用结构化的方法来封装程序了,在这一章中,学习其他面向过程的封装方法,即函数和模块。
3.1懒人炒菜机
1.函数是什么
三种角度看函数:(函数的方式:集合的对应关系、数据的魔法盒子、语句的封装)
数学上的函数定义了静态的对应关系。(集合之间的对应关系)
从数据的角度来说,函数像 是“大变活人”的魔法盒子,定义的函数f(x),进去的是一个自然数, 出来的是这个自然数的平方。借着函数,我们实现了数据转换。
编程中的函数在实现数据转换的同时,还能借着指令,实现其他功能。所以,程序员还可以从程序封装的角度来理解函数。 函数是这样一种语法结构,它把一些指令封装在一起,形成一个组合拳。输入数据被称为参数,参数能影响函数的行为。这就好比同样的组合拳可以有不同的力量级别。
2.定义函数
#定义函数(define function) square_sum()。功能是计算两个数的平方和: def square_sum(a,b): a = a**2 b = b**2 c = a + b return c
关键字def后面跟着square_sum,即函数的名字。在函数名后面,还有一个括号,用来说明函数有哪些参数,即括号中的a和b,其二称为形参(Parameter)。函数的具体执行中,参数所代表的数据确实是作为一个变量存在的。括号结束时,就来到了第一行的末尾。末尾有一个冒号,后面的四行都有缩进。前三行都是我们已经熟悉了的运算语句。最后一句是return用于说明函数的返回值,即函数的输出数据。
作为函数的最后一句,函数执行到return时就会结束,不管它后面是否还有其他函数定义语句。 (return起到了中止函数和制定返回值的功能)如果没有return,或者return 后面没有返回值时,则函数将返回None。关键字return也返回多个值。多个值跟在return后面,以逗号分隔。
return a,b,c # 相当于 return (a,b,c)
3.调用函数
使用函数的过程叫作调用函数(Call Function)。在函数调用时出现的参数称为实参(argument)。
#下面程序中调用了 square_sum() 函数(把返回值赋予给变量,方便以后使用):
x = square_sum(3,4)
print(x) # 结果为 25
#Python通过参数出现的先后位置,知道3对应的是函数定义中的第一个形参a, 4对应第二个形参b,然后把参数传递给函数square_sum(),直到得出返回值25。返回值25赋予给了变量X,最后由print打印出来。
4.函数文档
写函数时加上清晰的说明文档,说明函数的功能和用法分别是什么。
我们可以用内置函数help(),来找到某个函数的说明文档。
def square_sum(a,b): """return the square sum of two arguments""" a = a**2 b = b**2 c = a + b return c help(square_sum)
![]()