函数初识
- 
内容回顾作业讲解 
- 
函数的初识 
- 
- 
函数的返回值 
- 
函数的参数 
02 昨日内容回顾作业讲解
- 
文件操作初识 三部曲: - 
打开文件open()。 
- 
操作文件(文件句柄进行操作)。 
- 
关闭文件。 
- 
文件路径path,编码方式:encoding, mode:. 
 
- 
- 
读,写,追加。 - 
读: r rb r+,r+b - 
read() 
- 
read(n) : - 
r: read(n) n 是字符。 
- 
rb:read(n) n 字节。 
 
- 
- 
readline() strip() '\n,\t, ' 
- 
readlines() ['第一行\n','第二行\n',] 
- 
for 循环 对文件句柄。 
 
- 
- 
写:w,wb,w+,w+b - 
w: 没有文件创建新文件,写入内容。 
- 
w: 有文件,先清空,在写入新内容。 
 
- 
- 
追加:a,ab,a+,a+b - 
a: 没有文件创建新文件,追加内容。 
- 
a: 有文件,追加新内容。 
 
- 
 
- 
- 
r+: 先读,后写。 
- 
其他功能:tell() seek() flush() 
- 
with open() as f1: 
- 
文件的改的操作。 
03 今日内容
- 
函数的初识 - 
写一个获取字符串总个数的代码,不能用len: 1 s1 = 'fjkdsfjdssudafurpojurojregreuptotuproq[t' 2 # python没有len 3 count = 0 4 for i in s1: 5 count += 1 6 print(count) 
- 
写一个获取列表总个数的代码: 1 l1 = [1, 2, 3, 4, 5, 6] 2 count = 0 3 for i in l1: 4 count += 1 5 # print(count) 这样的写代码low, 重复代码太多。 代码的可读性差。 
- 
利用函数写出上面的功能: 1 s1 = 'fsjkdafshdjfsdhafjksda' 2 l1 = [1,2,3,4,5,6] 3  4 def my_len(s): 5 count = 0 6 for i in s: 7 count += 1 8 print(count) 9 my_len(s1) 10 my_len(l1) 
- 
函数:以功能(完成一件事)为导向,登录,注册,len,一个函数就是一个功能。 随调随用。 
- 
函数的优点: - 
减少代码的重复性。 
- 
增强了代码的可读性。 
 
- 
 
- 
- 
函数的结构与调用 - 
结构: def 关键字,定义函数。 meet 函数名:与变量设置相同,具有可描述性。 函数体 :缩进。函数中尽量不要出现 print 
- 
函数什么时候执行? - 
当函数遇到 函数名() 函数才会执行!!! 1 def meet(): 2 print('打开tantan') 3 print('左滑一下') 4 print('右滑一下') 5 print('找美女') 6 print('悄悄话....') 7 print('约....走起...') 8 meet() 9 meet() 10 meet() 
 
- 
 
- 
- 
函数的返回值 1 def meet(): 2 print('打开tantan') 3 print('左滑一下') 4 return 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9 meet() 10 return: 在函数中遇到return直接结束函数。 1 def meet(): 2 print('打开tantan') 3 print('左滑一下') 4 print('右滑一下') 5 print('找美女') 6 print('悄悄话....') 7 print('约....走起...') 8 return '妹子一枚' 9  10 ret = meet() 11 print(ret) 12 print(meet()) 13 return 将数据返回给函数的执行者,调用者 meet()。 14 s1 = 'jfdkslfjsda' 15 ret = len(s1) 16 print(ret) 1 def meet(): 2 print('打开tantan') 3 print('左滑一下') 4 print('右滑一下') 5 print('找美女') 6 print('悄悄话....') 7 print('约....走起...') 8 # return '妹子一枚' 9 return '妹子', 123, [22, 33] 10 ret= meet() 11 # ret,ret1,ret2 = meet() 12 print(ret,type(ret)) 13 # return 返回多个元素 是以元组的形式返回给函数的执行者。 - 
返回值的总结: - 
在函数中,终止函数。 
- 
return 可以给函数的执行者返回值: - 
return 单个值 单个值 
- 
return 多个值 (多个值,) 
 
- 
 
- 
 
- 
- 
函数的参数 1 def meet(): 2 print('打开tantan') 3 print('进行筛选:性别:女') 4 print('左滑一下') 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9  10 s1 = 'jfdsklafjsda' 11 l1 = [1,2,3] 12 len(s1) 
- 
函数的传参:让函数封装的这个功能,盘活。 分两个角度:实参,形参。 
1 def meet(sex): #函数的定义:接受的参数形式参数 2 print('打开tantan') 3 print('进行筛选:性别:%s' %(sex)) 4 print('左滑一下') 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9 10 meet('男') # 函数的执行传的参数 :实际参数
- 
实参角度 1.位置参数: 从左至右,一一对应。 1 - def meet(sex,age,skill): 2 print('打开tantan') 3 print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill)) 4 print('左滑一下') 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9 10 meet('女',25,'python技术好的',) 11 12 写一个函数,只接受两个int的参数,函数的功能是将较大的数返回。 13 def compile(a,b): 14 c = 0 15 if a > b: 16 return c 17 else: 18 return c 19 print(compile(10,20)) 20 print(compile(1000,1)) 21 compile(1000,20) 22 23 三元与运算符: 简单的if else 24 a = 1000 25 b = 2000 26 if a > b: 27 c = a 28 else: 29 c = b 30 print(c) 31 32 a = 1000 33 b = 2000 34 c = a if a > b else b 35 def complie(a,b): 36 c = a if a > b else b 37 return c 38 39 def complie(a,b): 40 return a if a > b else b - 
关键字参数 
 一一对应
 1 def meet(sex,age,skill,hight,weight,): 2 print('打开tantan') 3 print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight)) 4 print('左滑一下') 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9 10 meet(age=25,weight=100,hight=174,skill='python技术好的',sex='女') 11 12 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。 13 一一对应 14 def meet(sex,age,skill,hight,weight,): 15 print('打开tantan') 16 print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight)) 17 print('左滑一下') 18 print('右滑一下') 19 print('找美女') 20 print('悄悄话....') 21 print('约....走起...') 22 23 meet(age=25,weight=100,hight=174,skill='python技术好的',sex='女') 24 25 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。 26 def func(a,b): 27 return a + b 28 print(func(b='太白',a='无敌')) - 
混合参数 1 # 混合参数 2 # 位置参数一定要在关键字参数的前面。 3 def meet(sex,age,skill,hight,weight,): 4 print('打开tantan') 5 print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight)) 6 print('左滑一下') 7 print('右滑一下') 8 print('找美女') 9 print('悄悄话....') 10 print('约....走起...') 11 return '筛选结果:性别:%s,体重%s' %(sex,weight) 12 13 print(meet('女',25,weight=100,hight=174,skill='python技术好的')) 
 
- 
- 
形参角度: - 
位置参数 1 def meet(sex,age,skill): 2 print('打开tantan') 3 print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill)) 4 print('左滑一下') 5 print('右滑一下') 6 print('找美女') 7 print('悄悄话....') 8 print('约....走起...') 9 10 meet('女',25,'python技术好的',) 11 12 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 13 def func(l): 14 if len(l) > 2: 15 return l[:2] 16 else: 17 return l 18 # print(func([1,2,3,4,5])) 19 print(func([1,])) 20 21 def func(l): 22 c = l[:2] if len(l) > 2 else l 23 return c 24 print(func([1,2,3,4,5])) 25 print(func([1,])) 26 27 def func(l): 28 return l[:2] 29 # l1 = [1,] 30 # print(l1[:2]) 
- 
默认参数 1 默认值参数 2 默认参数设置的意义:普遍经常使用的。 3 4 def meet(age,skill='python技术好的',sex='女',): 5 print('打开tantan') 6 print('进行筛选:性别:%s,年龄:%s,技能:%s' %(sex,age,skill)) 7 print('左滑一下') 8 print('右滑一下') 9 print('找美女') 10 print('悄悄话....') 11 print('约....走起...') 12 13 # meet(25,'python技术好的',) 14 meet(25,'运维技术好的','男') 15 16 open() 
 
- 
04 今日总结
- 
函数: 
- 
函数的作用:以功能为导向,减少代码重复,使代码可读性好。 
- 
函数的结构,函数的执行。 
- 
函数的返回值:return 1,终止函数给函数的调用者返回值。 
- 
函数的参数: - 
实参角度 - 
位置参数 
- 
关键字参数 
- 
混合参数 
 
- 
- 
形参角度 - 
位置参数 
- 
默认参数 
- 
 
- 
 
- 
05 预习内容
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号