一、函数
1.函数介绍
函数是组织好的、可重复使用的、用来实现特定功能的代码段。
使用函数的好处:
将功能封装在函数内,可供随时随地重复利用
提高代码的复用性,减少重复代码,提高开发效率
其实,我们先前使用过的:input()、print()、str()、int()等都是Python的内置函数。
2.函数的定义与调用
定义函数时,
def 函数名(传入函数):
函数体
return 返回值
调用函数时,
函数名(参数)
其中,1、参数可以省略
2、返回值可以省略
3、函数必须先定义后使用
3.参数传入与调用
在函数运行的时候,接受外部传入的数据叫做传入参数。
# 传入参数
def add(x, y):
result = x + y
print(f"{x},{y}")
return result
a = 3
b = 4
print(add(a, b))
print(f"{a},{b}")
上述传入的x、y为形式参数,函数调用的a、b为实际参数。
注意事项:
函数定义中的参数,称之为形式参数
函数调用中的参数,称之为实际参数
函数的参数数量不限,使用逗号分隔开
传入参数的时候,要和形式参数一一对应,逗号隔开
4.返回值
返回值是函数在执行完成后,返回给调用者的结果。使用关键字:return 来返回结果
函数体在遇到return后就结束了,所以写在return后的代码不会执行。
关于函数返回值的类型:
如果函数没有使用return语句返回数据,这个函数依旧存在返回值None。
字面量None,其类型为<class 'NoneType'>,无返回值的函数,实际上就是返回了None这个字面量,没有实际意义。
用途:
1.用于无返回值的函数
2.在if判断中,None等同于False
3.定义无意义变量
5.函数的说明文档
为辅助理解函数的作用,可以为函数添加说明文档
语法格式为:
其中,:param 用于解释参数 :return 用于解释返回值
# 函数带说明文档
def add(x, y):
"""
add函数用于计算并返回传入的两个参数之和
:param x: 形式参数1
:param y: 形式参数2
:return: 返回参数x、y之和 x+y
"""
result = x + y
return result
6.函数的嵌套调用
在一个函数中,调用另外一个函数就是函数的嵌套。
对于函数嵌套的执流程,函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容。
# 函数的嵌套
def fun_b():
print(2)
def fun_a():
print(1)
fun_b()
print(3)
fun_a()
7.变量的作用域
变量作用域指的是变量的作用范围,分为局部变量和全局变量两类。
局部变量:
所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效。
例如在函数内部定义的变量,在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。
全局变量:
所谓全局变量,指的是在函数体内、外都能生效的变量。
接下来用一个例子分析局部变量和全局变量
# 局部变量与全局变量
num = 100 # 此处定义时 num 为全局变量
def fun1():
print(num)
def fun2():
global num # 声明 num 为全局变量
num = 250 # 此处 num 的修改不再影响全局变量 num 的实际值
print(num)
fun1()
fun2()
print(num)
"""
输出:
100
250
250
"""