函数基础
一、什么是函数
完成特定功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表这函数
现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名 =>通过名字就可以找到工具=>使用工具来解决问题
二、函数的优点
1. 避免代码的冗余
2. 让程序代码结构更加清晰
3. 让代码具有复用性,便于维护
三、函数的四部分
1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息
四、定义函数
通过def关键字来定义
def 函数名(参数): 函数体 return XX # 1. 示例 def get(water, money): print("收取费用%s" %money) print("给你 %s" %water) return water get("矿泉水", 2)
五、使用函数
1. 根据需求定义函数
2. 通过函数名找到函数所在的位置(内存地址)
3. 函数名(): 执行函数地址中存放的所有代码块,函数在定义时需要外界的参数,就要在调用时传入对应的参数
4. 函数执行完一定有返回结果,通过return关键字将结果返回给外界.外界需要知道执行结果,用变量接受,反之只执行函数(不需要接受)即可
六、函数的分类
6.1 根据函数体分类
6.1.1 空函数
# 空函数: pass来填充函数体的函数, 优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数) def login(): pass
6.1.2 非空函数
# 非空函数:有函数体的函数 def fn2(): print('函数体')
def add(): print('功能体不需要外界的参数') n1 = input('n1: ') n2 = input('n2: ') print(n1 + n2)
6.2.2 有参函数
def add_two(n1, n2): print('功能体需要外界的参数') print(n1 + n2)
6.3.1 返回值的功能
1. 结束函数
2. 将函数的内部数据返回给外部
# 1.不明确return关键词的函数:系统在函数最末端自动添加量return,返回的是None def fun(): print('内容') res = fun() print(res) # None
def print_msg(): while True: msg = input('msg:') if msg == 'q': # break return # 在特定的位置需要直接结束函数,但是不需要告诉外界某个结果,用空return处理 print(msg) print(msg) # 在break下可以被执行,在return下不能被执行 res = print_msg() print(res)
# python中的函数本质上只能返回一个值,值跟在return关键字后 # 可以通过语法上返回多个值,值之间用逗号隔开,但是本质上返回装有多个值的元组。一个值 def fun1(): num = input('num:') return num print(fun1())
# python的return支持多值返回的语法原因是python中有解压赋值 def get_two_num(): num1 = input('num1:') # 123 num2 = input('num2:') # 123 return num1,num2 res = get_two_num() print(res) # ('123', '123') #多个值最终以一个元组的形式包裹起来