day10.函数,函数的参数

函数的思维导图:

老师的笔记

昨天内容概括

 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   
View Code

文件操作拾遗(根据昨天的内容做的一些补充)

 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     #根据个人喜好
View Code

函数

 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 #   返回值有多个变量接收,那么返回值的个数应该和接收变量的个数完全一致
View Code

函数的参数

 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 #写作业
View Code

原文地址:https://www.cnblogs.com/2012-dream/p/7761713.html