一.Python文件的读写
1.1.二进制模型下的读写操作
t模式下:
f.read()如果不指定参数,默认读取全部信息
with open('1.txt','r',encoding="utf-8") as f:
print(f.read()) #he123lloword
# 运行结果:he123lloword
f.read(5) 如果给出指定参数,返回的就是字符个数
with open('1.txt','r',encoding="utf-8") as f:
print(f.read(5)) #he123lloword
# 运行结果:he123
b模式下:
f.read(5)如果给出指定参数,返回的是字节个数
如果给出的全是中文则按照3的倍数输入指定参数,如果给出中文加英文则需要自己考虑,反之全是英文则没多大的限制。
with open('1.txt','rb') as f:
print(f.read(5).decode('utf-8')) #th你好newworld
# 结果:th你
1.2.控制文件内指针的移动
一共有三个模式:
# 0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的;他能够使用在t和b模式
# 1: 该模式代表指针移动的字节数是以当前所在的位置为参照的: 只支持b模式,t模式不行
# 2: 该模式代表指针移动的字节数是以文件末尾的位置为参照的
二.函数的简介
2.1函数的语法结构
def my_len(a, b):
'''函数注释'''
# 函数体
return '0'
1. def 就是定义函数的关键字,它不能够省略,必须写
2. my_len():函数名,函数名的命名遵循变量的命名规范,他也是必填的,不能省略的,括号不能省略
3. a, b称为是函数的参数,是可选的,可有可无
参数就是执行函数的一些前提条件
4. '''函数注释'''
注释不参与函数的执行,只起到函数功能的提示作用,以及各个参数是什么意思
# 可有可无的,但是,推荐每个函数都加上函数注释
5. # 函数体
才是函数的核心,它是函数所具备的核心功能,应该是必须有的,pass
没有函数体的函数是没有意义的函数,一般情况都是要有函数体的
6. 返回值 return 函数的返回值
# 返回值也是可选的,可以有返回值,也可以没有返回值,但是一般情况下都要有返回值
# 一个函数只能有一个返回值...
2.2函数的定义与调用
1. 函数必须先定义后调用,没有定义函数是一定不能够调用的
2. 函数在定义阶段,只检测语法是否错误,不检测逻辑是否有问题
3. 逻辑上的错误只会在调用阶段检测
4. 函数一定是被调用之后才会执行函数内部的代码块,不调用函数一定不会执行函数 函数名() 只要函数名加括号一定会执行函数体代码 函数如果在定义阶段有参数,那么,在调用的时候,连参数一块写上
函数调用的内部原理: 1. 先在内存空间中申请一块空间地址来存储函数体代码 2. 把函数名和函数体所在的空间地址绑定在一起 3. 以后只需要通过函数名()来访问函数体代码即可
2.3 函数的分类
1. 内置函数 Python解释器中原本就存在的,可以直接拿来使用,无需定义,直接调用
2. 自定义函数
1. 无参函数:函数在定义阶段没有参数
def my_len ():
pass
my_len()
2. 有参函数:在函数定义阶段有参数的存在
def my_len(a, b):
pass
my_len(1, 2)
3. 空函数
def my_len():
pass