上节课回顾
目录
文件的基本应用
什么是文件
虚拟概念,用来存储信息的
操作文件的流程
1、打开文件-->open
2、修改文件-->write/read
3、保存文件-->flush
4、关闭文件-->close
打开文件的三种模式
1、r-->只读
2、w-->清空写入
3、a-->追加写入
文件的两种方式
1、t 文本模式
2、b 二进制模式,用于多媒体文件
绝对路径和相抵路径
绝对路径
从盘符开始
相对路径
相对于当前执行文件的文件夹下的所有文件
with管理文件上下文
跳出with缩进外,自动关闭文件。可以一次性打开多个文件
文件的高级应用
新的打开文件的模式
1、r+ 覆盖光标后(文件头)的内容
2、w+ w清空文件,读的功能失去了意义
3、a+ a让光标移到文件尾,读不出来前面的内容
如果真需要即读又写,用常规模式打开两次文件
光标移动的应用
1、read 以字符为单位,读取n个字符,默认读取全部
以下三个方法以字节为单位
1、seek:用于移动光标,0表示文件头;1表示当前位置;2表示文件末尾
2、tell:告诉你当前位置
3、truncate:截断处理,truncate(0),清空文件
文件的修改
文件没有插入,只有覆盖一说
with open('test.txt','r',encoding='utf8')as fr,
open('test_txt','w',encoding='utf8')as fw:
data = fr.read()
......
fw.write(data)
import os
os.remove('text.txt')
os.rename('test_swap.txt','text.txt')
今日所学
函数的引入
了解函数,认识函数
函数的定义
def 函数名(等同于变量名)():
"""对函数(工具)的描述信息"""
代码块
函数定义的特性:函数定义过程只检测语法,不执行代码
定义函数的三种形式
# 空函数
def func():
pass
# 无参函数
def guess2():
"""给定两个数,打印较大的数"""
x = 30
y = 20
if x > y:
print(x)
else:
print(y)
#有参函数
def guess1(x,y):
"""给定两个数,打印较大的数"""
if x > y:
print(x)
else:
print(y)
guess1(50,20)
函数的调用
def guess1():
"""给定两个数,打印较大的数"""
x = 20
y = 30
if x > y:
print(x)
else:
print(y)
# 调用函数
guess1()
函数的返回值
返回值:返回一个值(所有数据类型)
return的特性:
- return返回一个返回值,如果没有返回值,就返回None
- return会终止函数,不运行下面的代码,假设有多个return的时候,运行到第一个就会结束,不会运行第二个
- return通过逗号隔开,可以返回多个值,返回值以元组的形式接收
函数的参数
def 函数名(x,y):# 形参
代码块
函数名(x,y) # 实参
形参
定义函数阶段的产物,具有接收实参的作用,具有描述意义
位置形参
从左到右依次接收实参的值
默认形参
如果你不给,使用默认值;如果调用的时候传值,使用传的值 , 默认形参必须得放在位置形参后面
实参
调用阶段的产物,传给形参一个具体的值,可以为任意数据类型
位置实参
从左到右依次给位置形参传值,一一对应,形参有多少个,实参就要有多少个
关键字实参
按照形参名给形参传值。关键字实参必须写在位置实参后面
可变长参数
可变长形参之*
形参中的会将溢出的位置实参全部接收,然后存储元组的形式,然后把元组赋值给后的参数。需要注意的是:*后的参数名约定俗成为args。
可变长实参之*
实参中的,会将后参数的值循环取出,打散成位置实参。以后但凡碰到实参中带的,它就是位置实参,应该马上打散成位置实参去看。