函数
函数的概念:(重复利用的工具)可以完成特定功能的版块,函数就是存放代码的容器
函数的定义:def:声明函数的关键词
fn:函数(变量)名
():参数列表,参数个数可以为0~n,但()一定不能丢
函数的四大组成部分:
fn:函数(变量)名
函数体:实现功能的具体代码
return:函数的返回值,功能完成的结果,函数的返回值也称之为函数值,就是函数执行结束的后果
函数参数:() 完成功能需要的条件信息
def fn(money): print('你付了%s元钱' % money) print('函数的一行代码') print('函数的二行代码') return '冰红茶' fn直接打印,只能看到函数存放代码的地址 print(fn, id(fn)) 使用函数: 函数名() fn(10) print("把水喝了") 函数的返回值也称之为函数值,就是函数执行结束后的结果 可以用变量接受 | 可以直接打印 | 可以直接使用 msg = fn(10) print(msg) print('>>>>', fn(10) + '好喝') 函数执行的本质:执行函数体,得到函数返回值
重点;先定义,后引用
从函数体进行分类分析
空函数:项目之初,知道项目有哪些功能,但还没有明确的功能体,可以用pass进行函数体填充
def computed(): pass
非空函数:用函数体
def add_num(n1, n2): ''' 函数的注释 :param n1: 第一个数 :param n2: 第二个数 :return: 两个数之和 ''' return n1 + n2 print(a) a = 10 computed() res = add_num(10, 20) print(res) a = 50 b = 100 print(add_num(a, b))
从参数列表进行分类
无参函数:函数运行不需要外界提供参数
def print_mag(): print('欢迎大家来到老男孩教育,奉献你的余生!!!') print_mag()
有参函数:函数运行需要外界提供参数
ef print_schooi_mag(p1,p2): print('欢迎%s老男孩教育,敞开你的腰包!!!' % (p1,p2)) p1 = input('输入领导名:') p1 = input('输入领导名:') print_schooi_mag(p1,p2)
从返回值进行分类
空返回
没有return
def fn1(): print('fn1 run!!!') res = fn1() print('没有return关键字的返回值:%s' % res) # None
空return
def fn2(): print('fn2 run!!!') return return None res = fn2() print('空return关键字的返回值:%s' % res) # None
无return函数与空return函数的区别
空return:可以根据具体情况主动退出函数(像break结束循环一样)
值返回
一个值返回
def add_num(n1,n2): return n1+n2 print(add_num(10,15))
多个值返回:返回装有多个值得元组
函数的嵌套调用
案例:
用函数实现获取两个数的最大值 def max_2(n1,n2): if n1>n2: return n1 return n2 用函数实现三个数的最大取值 def max_3(n1,n2,n3): m2=max_2(n1,n2) return max_2(m2,n3) 用函数实现四个数的最大取值 def max_4(n1,n2,n3,n4): m3=max_2(n1,n2) return max_3(m3,n3,n4) def max_4(n1,n2,n3,n4): m3=max_3(n1,n2,n3) return max_2(m3,n4)
指定文件名的文件复制
def copy_img(target_img): with open('001.jpg', 'rb') as r, open(target_img, 'wb') as w: for line in r: w.write(line) copy_img('888.jpg') copy_img('999.jpg')