文件操作和函数
文件操作
1.文件的操作模式(read)
1.t模式(字符个数)
t模式下在read( )中填写数字,读取出的是对应数字的字符个数
例:
1 with open(r'存储文件.txt', 'r', encoding='utf8') as f: 2 f.read(3) # 取出存储文件中3个字符
2.b模式(字节个数)
b 模式下read( )中填写的数字,读取出的是对应数字的字节个数
例:
1 with open(r'存储文件.txt', 'rb') as f: 2 f.read(3).decode('utf8') # 取出存储文件中3个字符,由于读取出来是二进制,所以需要解码
2.文件内指针的移动(seek、tell)
f . seek(offset , whence )
1.offset(偏移量)
1.为正数时,从左往右移动
2.为负数时,从右往左移动
2.whence(模式)
0:不写时默认的模式,从文件开头开始移动( t b两种模式都支持)
1:以光标当前位置为初始,开始移动(只支持b模式)
2:以文件的末尾为初始,开始移动(只支持b模式)
3.tell
查看光标所在位置
f.tell( )
3.文件内容的修改
1.方法一
1.先读取文件的原数据
2.利用字符串替换,把要修改的数据替换掉
3.把得到的新字符串从新以w模式写到文件中
2.方法2
函数
函数就是一个工具,提前拟定好,后面调用
解决问提:
1.代码冗余
2.结构清晰
1.语法结构
def 函数名(参数1,参数2)
'''代码注释'''
函数体
return
1.定义函数的关键字:def,不能省略
2.函数名也不能省略,函数名的命令遵循变量的命名
3.参数:可有可无,函数执行之前需要满足的条件、
4.函数注释也是可有可无的,一般用来介绍函数的功能、参数的意义等
5.函数体:函数的核心,调用需要执行的代码
6.返回值:return,也是可有可无的,但是一个函数只能有一个return
2.函数的定义与调用
1.必须先定义,后调用
2.函数在定义阶段,只检测语法是否错误,不会执行函数体代码
3.函数在调用阶段才会执行函数体代码
4.如何调用函数:
函数名() //如果有参数,在调用函数的时候,也一块传过去
3.函数的分类
1.内置函数
python解释器自带的函数,可以直接拿来用,eg:len、join、pop等
2.自定义函数
我们自己写的函数,调用
1.无参函数: 在定义阶段没有写变量名的函数
def index():
pass
2.有参函数:在函数定义阶段写变量名的函数
def index(a,b):
print(a + b)
index(a,b) #个数必须与定义个数一致
3.空函数:就是函数没有函数体,我们使用pass或者...来补全语法结构 //空函数可以帮助我们梳理代码思路
4.函数的返回值
1.关键字:return
2.函数内如果有return关键字,默认返回的是None
3.函数内如果有return,但如果后面没有跟数据,默认返回也是None
4.函数内有return,后面跟什么数据就返回什么数据
5.函数也可以返回容器类型的数据,列表、字典、元组等类型
6.函数遇到return,立刻终止函数的执行
7.函数内也可以写多个return,但本质还是一个,先遇到哪个retrun就返回这个return的值,函数停止运行