函数的思维导图:
老师的笔记
昨天内容概括
1 #组长:默写统一交给组长 2 #不建议看视频 3 #上课敲过的所有的例子 4 # 1.看一遍、看能不能看懂 5 # 2.给每一道题起一个名字或者一句描述 6 # 3.看着文字,是否能翻译出代码 7 # 4.如果翻译不出来,就对照着看上课的代码,看看卡在哪句话 8 # 5.再反复的记忆 9 10 #多看博客 11 #1.第一节函数课 12 #2.第一节面向对象课 13 14 # 4期 15 # for while 16 # 有想纯谈心的 17 18 19 # 1.文件怎么读 20 # for循环读 21 # read(): 一次性读出来、或者是按单位读:r 按字符读,rb 按字节读 22 # #缺点:占内存 23 # readline():一行一行的读 24 # #缺点:你不知道读到什么位置文件结束 25 # readlines():一次性读出所有的行,以列表的形式显示 26 # #缺点:占内存 27 # 2.光标的位置怎么移动 28 # seek(0) 到开头 29 # seek(0,2)到末尾 30 # 跳到文件的指定位置:seek(n) 31 #3.打开文件的几种模式 32 #r/w/a 33 #rb,wb,ab 34 #4.文件怎么写 35 #write() 36 #write('第一行 ') 37 #write('第二行 ') 38 #write('第一行 第二行 ') 39 40 # 1.会向文件中添加一行新内容 41 # 2.会读文件,并且将读出的内容格式化 42 # 3.会修改文件 43
文件操作拾遗(根据昨天的内容做的一些补充)
1 #文件的修改 2 # #1.创建一个新文件 3 # f2 = open('原文件.bak','w',encoding='utf-8') 4 # #2.把原来的文件中的内容读出来 5 # f = open('原文件',encoding='utf-8') 6 # old_content = f.read() #'原来的内容 ' 7 # #3.操作读出来的字符串,把字符串中的内容替换掉 8 # new_content = old_content.replace('新','原来') 9 # #4.把替换之后的内容写到新文件里 10 # f2.write(new_content) 11 # f.close() 12 # f2.close() 13 # # #5.删除原文件,新文件重命名成源文件的名字 14 # import os #os模块 15 # os.remove('原文件') #删除文件 16 # os.rename('原文件.bak','原文件') #重命名 #replace(‘老内容’,‘新内容’) 17 18 #文件的删除 19 # import os #os模块 20 # os.remove('原文件') #删除文件 21 22 # #1.创建一个新文件 23 # f2 = open('原文件.bak','w',encoding='utf-8') 24 # #2.把原来的文件中的内容读出来 25 # f = open('原文件',encoding='utf-8') 26 # for line in f: 27 # new_line = line.replace('原来','新') 28 # f2.write(new_line) 29 # f.close() 30 # f2.close() 31 # import os 32 # os.remove('原文件') 33 # os.rename('原文件.bak','原文件') 34 35 #进阶例子 36 # #1.创建一个新文件 37 # f2 = open('原文件.bak','w',encoding='utf-8') 38 # #2.把原来的文件中的内容读出来 39 # f = open('原文件',encoding='utf-8') 40 # count = 0 41 # for line in f: 42 # if '原来' in line and count == 0: 43 # new_line = line.replace('原来','新') 44 # f2.write(new_line) 45 # count = 1 46 # else: 47 # f2.write(line) 48 # f.close() 49 # f2.close() 50 # import os 51 # os.remove('原文件') 52 # os.rename('原文件.bak','原文件') 53 54 #with操作文件 55 # f = open('原文件',encoding='utf-8') 56 # content = f.read() 57 # print(content) 58 # f.close() 59 60 # with open('原文件',encoding='utf-8') as f: 61 # # content = f.read() 62 # # print(content) 63 # for line in f: 64 # print(line.strip()) 65 66 with open('原文件',encoding='utf-8') as f,open('原文件.bak','w',encoding='utf-8') as f1: 67 for line in f: 68 new_line = line.replace('原来','新') 69 f1.write(new_line) 70 import os 71 os.remove('原文件') 72 os.rename('原文件.bak','原文件') 73 74 75 #修改文件 76 #read() 77 #for循环的形式逐行修改 78 #只修改一行的内容,其他不变 —— 扩展例子 79 #with语句 == 文件的打开和关闭 80 #根据个人喜好
函数
1 # len() 2 # len([1,2,3,4,5,6]) 3 # len('金老板 is somebody') 4 5 # l = [1,2,3,4,5,6] 6 # count = 0 7 # for i in l: 8 # count +=1 9 # print(count) 10 11 # s = '金老板 is somebody' 12 # count = 0 13 # for i in s: 14 # count +=1 15 # print(count) 16 17 #可读性差 18 #重复的代码多 19 20 #把代码装起来 21 # def my_len(): 22 # l = [1,2,3,4,5,6] 23 # count = 0 24 # for i in l: 25 # count +=1 26 # print(count) 27 # 28 # # print(my_len) 29 # my_len() 30 31 32 #len() 33 # l_len = len([1,2,3,4]) 34 #写函数的时候,要尽量以功能为导向,结果最好不要直接在函数中打印 35 # def my_len(): #函数名的定义 36 # l = [1,2,3,4,5,6] 37 # count = 0 38 # for i in l: 39 # count +=1 40 # return count #函数的返回值 41 # 42 # ret = my_len() #函数的调用 以及 返回值的接收 43 # print(ret) 44 # my_len() 45 46 47 #函数的返回值 48 #没有返回值 49 #返回一个值 50 # 51 52 def 函数名(): 53 for i in range(10): 54 if i%3 == 0: 55 print(i) 56 return {'a':'b'},2 57 print(i) 58 59 60 ret,ret2,ret3 = 函数名() 61 print(ret) 62 print(ret2) 63 64 #返回值: 65 # 没有返回值: 66 # 不写return == return None 67 # 只写一个return == return None 68 # return的作用:1.返回一个值 2.终止一个函数的继续 69 70 # 返回一个值: 可以返回任意的数据类型。返回什么 就接受什么 71 72 # 返回多个值: 73 # 用一个变量接收返回值,接收到的是一个元组 74 # 返回值有多个变量接收,那么返回值的个数应该和接收变量的个数完全一致
函数的参数
1 def my_len(lst): #参数:接收参数,形式参数,形参 2 count = 0 3 for i in lst: 4 count += 1 5 return count 6 7 8 l = [1, 2, 3, 4] # 参数:传参数/传参,实际参数,实参l = [1,2,3,4] 9 len_count = my_len(l) 10 # print(len_count) 11 # len_count2 = my_len('金老板 is somebody') 12 # print(len_count2) 13 14 # 练习 15 # 写一个函数,接收参数一个列表或者字符串, 16 # 如果这个列表或者字符串的长度大于2,返回True,否则返回False 17 # def func(s_l): 18 # if len(s_l) > 2: 19 # return True 20 # else: 21 # return False 22 # 23 # print(func([1,2,3,4])) 24 # print(func('12')) 25 26 27 # 参数 28 # 形参和实参 29 # 传参数可以传任意的数据类型,并且传什么,接受什么 30 # 站在传参数的角度上看问题:一共有两种传参的方式 31 # 第一种:按照位置传参数 32 # 第二种:按照关键字传参数 33 34 # def f(para): 35 # print(para) 36 # 37 # f(para = 1) 38 39 40 #传多个参数:多个参数分别可以使用任意数据类型 41 def f2(arg1,arg2,arg3): #站在接受、形参的角度上:位置参数 42 print(arg1) 43 print(arg2,arg3) 44 45 # f2('abc',arg1 = [1,23]) 46 # f2('abc',arg2 = [1,23]) 47 # f2(arg3 = 1,arg2 = 2,arg1 = 3) 48 #按照关键字传参数和按照位置传参数是可以混用的 49 #但是,首先传按位置的,再传按关键字的 50 #按照位置传完该接受的参数只能接受一个值,不接受或者重复接收都不想 51 52 #形参 53 #位置参数 54 #数量必须与实参数量一致 ==> 必须传的参数 55 56 # def classmate(name,sex='男'): 57 # print('姓名:%s,性别%s'%(name,sex)) 58 # 59 # classmate('尤悦') 60 # classmate('曹超') 61 # classmate('张建超') 62 # classmate('晓梅','女') 63 64 #默认参数: 65 #默认参数 是可以不传的参数 66 #在不传参数的情况下可以使用默认的值 67 #如果传了,就会使用传的值 68 69 #魔性的用法:默认参数尽量避免使用可变数据类型 70 lst = [] 71 def func(l = lst): 72 l.append(1) 73 print(l) 74 75 func() 76 func() 77 func() 78 func() 79 80 lst = [] 81 def func(l = lst): 82 l.append(1) 83 print(l) 84 85 func([]) 86 func([]) 87 func([]) 88 func([]) 89 90 91 #敲例子 92 #读博客 93 #画思维导图 94 #写博客 95 #写作业