文件操作模式
1.如果是t模式,read(3)里面的数字代表字符个数
2.如果b模式,read(3)里面代表的是字节个数
3.一个字节代表一个英文字符
4.一个中文字符用三个字节表示
with open('a.txt','r',encoding='utf8')as f: print(f.read(3))
文件内指针的移动
指针的移动有三种模式
1.f.seek(3,0)#模式为0,默认模式,该模式代表指针移动的字节数事宜文件开头为参照物 2.f.seek(3,1)#模式为1,该模式表示指针移动的字节数是以当前所在的位置为参照的 3.f.seek(3,2)#模式为2,该模式表示指针移动的字节数是以文件末尾为参照物的 总结:模式为0,支持tb模式,模式1、2只用于字节模式
负数代表相反的方向
4.f.tell()查看光标现在的位置
文件修改
方式一:
1 with open(‘a.txt’,‘r’,encodin=‘utf8’)as f: 2 date=f.read 3 res=date.replac(‘kevin’,‘tom’) 4 with open(‘a.txt’,‘r’,encodin=‘utf8’)as f: 5 f.writ(res)
小练习:查看最后一条动态
import time # tail -f a.txt
with open('access.log', mode='rb') as f:
f.seek(0, 2) # 直接把光标移动到了末尾
while True:
line = f.readline() # 读取一行数据
if len(line) == 0:
# 没有内容
time.sleep(1) # 睡眠0.5秒
else:
print(line.decode('utf-8'), end='')
函数简介
def my_len n=0 for j in l : n+=1 print(n)
1.我们现在写的代码不够简洁,重复代码太多
2.写的代码兼容性不强
3.函数简介:
函数类似于一个工具
函数就会死提前定义好一个功能,以后享用,就可以直接调用函数
函数的语法结构
del my_len(a,b) print(123) return 1.def 定义函数的关键字不能省略 2.my_len 函数名,不能省略,必须写 函数名命遵循变量命名规则 3.def my_len(参数1,参数2): 参数可有可无 参数就是在执行函数的时候要提前满足条件 4.函数注释 可有可无,一般情况下注释用来介绍函数功能、参数代表的意思,以及返回值的信息 5.函数体 函数体也是可有可无,但是,没有函数体的函数没有意义,pass 6.函数的返回值 关键字:return 返回值也是可有可无,一个函数只能有一个return返回值
函数的定义与调用
1.函数必须先定义在调用
2.函数定义阶段只检测语法错误,不会执行代码
3.只有在函数调用阶段,才会执行函数代码
4.如何调用函数
函数名加括号,如果有参数,在调用的时候也要把参数一块传过去
函数在定义阶段调用阶段的叠层原理
1.在内存空间申请一块空间,来储存函数体
2.把函数体的空间地址绑定给函数名
3.通过函数名来调用函数体
函数的分类
1.内置函数:python解释器自带的函数,可以直接拿来使用
eg:len、print之前学的数据类型的内置方法
2.自定义函数:
无参函数
没有参数的函数,括号里面没有参数的函数
def index():
pass
有参函数
括号里面有参数的函数
def index(a,b):
print(a+b)
空函数
就是没有函数体的代码,可以帮我们梳理代码思路
def index():
pass
函数返回值
返回关键字:return
1.函数内如果没有关键字return,那么,函数返回结果就是none
2.函数内如果只有关键字return,那么返回的结果任然是none
3.函数内有关键字return,return后面写什么就返回什么,谁调用函数体,返回结果就给谁
4.函数内遇到return关键字就直接返回结构,或者角函数终止运行
5.一个函数内只有一个return结果
6.return后面也可以返回多个值,如果用逗号隔开,就会以元组形式返回
标签:11,return,函数,python,基础,模式,len,print,def From: https://www.cnblogs.com/shanghaipudong/p/17431460.html