函数
如果没有函数存在的问题:
代码重复量大,内存占用大
功能改变时不易查找和修改
一、函数的概念
实现某一特定功能的代码封装
1、关于函数的分类
a、系统函数 ------系统写好的函数,可直接调用
b、自定义函数 —程序员自己创建编写的函数
2、定义函数(创建函数)
语法:
def 函数名(形参列表):
函数说明文档
函数体
return [表达式]
def ------关键字(固定写法)
函数名 ----程序员自己命名
要求:是标识符,不能是关键字
规范:简写函数功能,见名知意,字母都小写,多个单词用下划线隔开,不使用系统函数名,类名或者模块名
(): ------固定写法
形参列表 -----多个变量用逗号隔开 变量名1,变量名2,...每一个变量就是形参
-----形参可以有多个,也可没有形参
-----形参的作用:将函数外部的数据传递到函数内部
-----初学者如何确定形参:观察实现函数的功能是否需要额外的数据,需要几个
函数说明文档 -本质是多行注释,说明函数功能,可有可无
函数体 ----实现函数功能的代码块
----和def保持一个缩进的一条或者多条语句(至少一条语句)
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
eg:
def sum_xy(num1, num2):
"""
功能说明区
:param num1: 参数说明
:param num2: 参数说明
:return: 返回值说明
"""
print(num1 + num2)
return
sum_xy(10, 23) # 33
3、函数的调用
定义函数的时候不会执行函数体,调用函数的时候才会执行函数体
语法:
函数名(实参列表)
函数名 ----需要执行函数的功能,写对应的函数名,必须是已经定义好的函数名
() ------固定写法
实参列表 ---通过形参真正传递到函数内部的数据
---以数据1,数据2,....的形式存在
函数调用过程 ---第一步:回到函数定义的位置
---第二步:执行函数体
---第三步:确定函数返回值
---第四步:回到函数定义的位置
4、返回值return
返回值的作用:从函数内部传递到函数外部的数据
python中每个函数有且只有一个返回值(只有一个出口),通过这个出口传递的数据才是真正意义上的返回值
什么时候需要返回值:如果实现函数功能产生了新的数据,就把新的数据通过返回值返回
如何返回返回值:return 返回数据
怎么在函数外部获取函数返回值 - 获取函数返回值
获取函数调用表达式的值就是获取函数返回值(函数返回值能做的事情,函数调用表达式都可以做)
eg:
def merge_str(str1, str2, str3=''):
length = min(len(str1), len(str2))
for index in range(length):
str3 += str1[index] + str2[index]
str3 += str2[length:] + str1[length:]
return str3