函数的简介
函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
简单理解就是把常用的代码写成不同类型的代码段,方便后面的调用,节省后面的代码量和美观性。
函数的定义和调用
函数的定义
def 函数名(传入参数):
函数的执行代码段
return 返回值
函数的调用
函数名(传入参数)
注意事项
函数必须先定义后使用
参数如不需要,可以省略
返回值如不需要,可以省略
函数的参数
传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供的数据
下面是一个简单的2个数值相加计算的函数,返回相加的结果,也可以直接print()打印结果
# 定义一个数值计算的函数
def add(x, y):
result = x + y
return(result)
# 调用计算函数进行数值计算
i = 15
j = 20
data = add(i, j)
print(f"i + j 的计算值是:{data}")
注意事项
函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数
参数之间使用逗号进行分隔
函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值
传入的时候,按照顺序传入数据,使用逗号分隔
传入参数的数量是不受限制的。
可以不使用参数
也可以仅使用任意N个参数
函数的返回值
1. 什么是函数返回值?
函数在执行完成后,返回给调用者的结果
2. 返回值的应用语法:
使用关键字:return 来返回结果
3. 注意:
函数体在遇到return后就结束了,所以写在return后的代码不会执行。
None类型
思考:如果函数没有使用return语句返回数据,那么函数有返回值吗?
实际上是:有的。
Python中有一个特殊的字面量:None,其类型是:<class 'NoneType'>
无返回值的函数,实际上就是返回了:None这个字面量
None表示:空的、无实际意义的意思
函数返回的None,就表示,这个函数没有返回什么有意义的内容。
也就是返回了空的意思。
演示:
函数说明文档
函数说明文档有什么作用
可以给函数进行说明解释,方便通过注释更好理解函数的功能
定义语法
:param 用于解释参数
:return 用于解释返回值
函数的嵌套
1. 什么是嵌套调用
在一个函数中,调用另外一个函数
2. 执行流程
函数A中执行到调用函数B的语句, 会将函数B全部执行完成后,继续执行函数A的剩余内容
变量的作用域
变量作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)
主要分为两类:局部变量和全局变量
局部变量
所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效
变量num是定义在`testA`函数内部的变量,在函数外部访问报错.
局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量
全局变量
所谓全局变量,指的是在函数体内、外都能生效的变量
思考:如果有一个数据,在函数A和函数B中都要使用,该怎么办?
答:将这个数据存储在一个全局变量里面
global关键字
使用 global关键字 可以在函数内部声明变量为全局变量, 如下所示
总结:
1. 什么是局部变量
作用范围在函数内部,在函数外部无法使用
2. 什么是全局变量
在函数内部和外部均可使用
3. 如何将函数内定义的变量声明为全局变量
使用global关键字,global 变量