函数和代码复用
1.函数的基本使用
-
函数的定义:
结构:def <函数名> (<参数列表>):
<函数体>
return <返回值列表>(四个空格缩进)
注:
参数列表:调用该函数时传递给它的值
函数体:函数每次被调用时执行的代码
返回值:
(1)若需要返回值,使用保留字return和返回值列表
(2)当函数无return时,仅表示执行一段代码 -
函数的使用:结构:<函数名>(<实际赋值参数列表>)
函数使用的四个步骤:
(1)函数定义:使用def保留字将一段代码定义成函数,需要确定函数名,参数名,参数的个数,使用参数名作为形式参数(占位符),编写函数内部的功能代码。
(2)函数调用:通过函数名调用函数功能,对函数的各个参数赋予实际值,实际值可以是实际数据,也可以是在调用函数前已经定义过的变量。
(3)函数执行:函数调用后,使用实际参数(赋予形式参数的实际值)参与函数内部代码的运行,如果有结果则进行输出。
(4)函数返回:函数执行结束后,根据return保留字的指示决定是否返回结果,如果返回结果,则结果将放置到函数被调用的地方,函数使用完毕,程序继续运行。
例:
2.函数的参数传递
-
可选参数传递:
def <函数名>(<非可选参数列表>,<可选参数>=<默认值>)
<函数体>
return <返回值列表>
例:
注:参数名称的传递:
(1):默认采取按照位置顺序的方式传递给函数
(2):支持函数按照参数名称方式传递参数 -
函数返回值(两种情况):
(1):多个返回值,用一个变量或多个变量保存结果
例:
(2)存在多种结束条件时,使用多个return语句:
3.变量的作用域 -
局部变量:定义只在函数内部有效,当函数退出时变量不复存在
变量的出现在函数内部,消失也是在函数内部
例:
-
全局变量:(用保留字global作声明)
例
(若没有保留字global,则即使函数内部变量的名称一样,但还是局部变量)
4.代码复用
基本要求:
(1)紧耦合:尽可能合理划分功能块,功能块内部耦合紧密
(2)松耦合:模块间关系尽可能简单,功能块之间耦合性低